diff --git a/ethchain/error.go b/ethchain/error.go
index 0f1d061c0db8dbb9f814414c4499d1825492db5c..8d37b0208a94ae74d8d6a9fe37bf5fe18c8b3db3 100644
--- a/ethchain/error.go
+++ b/ethchain/error.go
@@ -1,6 +1,8 @@
 package ethchain
 
-import "fmt"
+import (
+	"fmt"
+)
 
 // Parent error. In case a parent is unknown this error will be thrown
 // by the block manager
@@ -40,3 +42,22 @@ func IsValidationErr(err error) bool {
 
 	return ok
 }
+
+type NonceErr struct {
+	Message string
+	Is, Exp uint64
+}
+
+func (err *NonceErr) Error() string {
+	return err.Message
+}
+
+func NonceError(is, exp uint64) *NonceErr {
+	return &NonceErr{Message: fmt.Sprintf("Nonce err. Is %d, expected %d", is, exp), Is: is, Exp: exp}
+}
+
+func IsNonceErr(err error) bool {
+	_, ok := err.(*NonceErr)
+
+	return ok
+}
diff --git a/ethchain/state_manager.go b/ethchain/state_manager.go
index 072fabc0e19c5dd230976e79346e05e4ae0a6ebe..02d0345d75daf68cb7a92eb80e2ed6bc8f05d6ab 100644
--- a/ethchain/state_manager.go
+++ b/ethchain/state_manager.go
@@ -157,7 +157,7 @@ func (sm *StateManager) ProcessBlock(block *Block, dontReact bool) error {
 	hash := block.Hash()
 
 	if sm.bc.HasBlock(hash) {
-		fmt.Println("[STATE] We already have this block, ignoring")
+		//fmt.Println("[STATE] We already have this block, ignoring")
 		return nil
 	}
 
diff --git a/ethchain/transaction_pool.go b/ethchain/transaction_pool.go
index 91fad2635bb57175cf6e1959db9affbdeeba25ad..fc807c580f372f1722e233c58a0e244216e072e4 100644
--- a/ethchain/transaction_pool.go
+++ b/ethchain/transaction_pool.go
@@ -98,7 +98,7 @@ func (pool *TxPool) ProcessTransaction(tx *Transaction, block *Block, toContract
 		}
 	}()
 	// Get the sender
-	sender := block.state.GetAccount(tx.Sender())
+	sender := block.state.GetStateObject(tx.Sender())
 
 	if sender.Nonce != tx.Nonce {
 		return fmt.Errorf("[TXPL] Invalid account nonce, state nonce is %d transaction nonce is %d instead", sender.Nonce, tx.Nonce)
@@ -112,7 +112,7 @@ func (pool *TxPool) ProcessTransaction(tx *Transaction, block *Block, toContract
 	}
 
 	// Get the receiver
-	receiver := block.state.GetAccount(tx.Recipient)
+	receiver := block.state.GetStateObject(tx.Recipient)
 	sender.Nonce += 1
 
 	// Send Tx to self
@@ -169,7 +169,6 @@ out:
 	for {
 		select {
 		case tx := <-pool.queueChan:
-			log.Println("Received new Tx to queue")
 			hash := tx.Hash()
 			foundTx := FindTx(pool.pool, func(tx *Transaction, e *list.Element) bool {
 				return bytes.Compare(tx.Hash(), hash) == 0
@@ -186,11 +185,8 @@ out:
 					log.Println("Validating Tx failed", err)
 				}
 			} else {
-				log.Println("Transaction ok, adding")
-				// Call blocking version. At this point it
-				// doesn't matter since this is a goroutine
+				// Call blocking version.
 				pool.addTransaction(tx)
-				log.Println("Added")
 
 				// Notify the subscribers
 				pool.Ethereum.Reactor().Post("newTx", tx)