diff --git a/ethchain/block.go b/ethchain/block.go
index e4486f8e430eefa68bed0cdd5bea73e0e03a6290..321af6183588bff671c42d6a21d7f062defe60ae 100644
--- a/ethchain/block.go
+++ b/ethchain/block.go
@@ -100,7 +100,7 @@ func CreateBlock(root interface{},
 	}
 	block.SetUncles([]*Block{})
 
-	block.state = ethstate.NewState(ethtrie.New(ethutil.Config.Db, root))
+	block.state = ethstate.New(ethtrie.New(ethutil.Config.Db, root))
 
 	return block
 }
@@ -265,7 +265,7 @@ func (block *Block) RlpValueDecode(decoder *ethutil.Value) {
 	block.PrevHash = header.Get(0).Bytes()
 	block.UncleSha = header.Get(1).Bytes()
 	block.Coinbase = header.Get(2).Bytes()
-	block.state = ethstate.NewState(ethtrie.New(ethutil.Config.Db, header.Get(3).Val))
+	block.state = ethstate.New(ethtrie.New(ethutil.Config.Db, header.Get(3).Val))
 	block.TxSha = header.Get(4).Bytes()
 	block.Difficulty = header.Get(5).BigInt()
 	block.Number = header.Get(6).BigInt()
@@ -307,7 +307,7 @@ func NewUncleBlockFromValue(header *ethutil.Value) *Block {
 	block.PrevHash = header.Get(0).Bytes()
 	block.UncleSha = header.Get(1).Bytes()
 	block.Coinbase = header.Get(2).Bytes()
-	block.state = ethstate.NewState(ethtrie.New(ethutil.Config.Db, header.Get(3).Val))
+	block.state = ethstate.New(ethtrie.New(ethutil.Config.Db, header.Get(3).Val))
 	block.TxSha = header.Get(4).Bytes()
 	block.Difficulty = header.Get(5).BigInt()
 	block.Number = header.Get(6).BigInt()
diff --git a/ethchain/state_transition.go b/ethchain/state_transition.go
index 8f1561c008820f0a9615f9fc37f710e61a5ea902..dfcbfcc04a8537e1f651ed348ce5109fc4a47248 100644
--- a/ethchain/state_transition.go
+++ b/ethchain/state_transition.go
@@ -278,7 +278,7 @@ func MakeContract(tx *Transaction, state *ethstate.State) *ethstate.StateObject
 
 		contract := state.NewStateObject(addr)
 		contract.InitCode = tx.Data
-		contract.State = ethstate.NewState(ethtrie.New(ethutil.Config.Db, ""))
+		contract.State = ethstate.New(ethtrie.New(ethutil.Config.Db, ""))
 
 		return contract
 	}
diff --git a/ethstate/state.go b/ethstate/state.go
index 693a591c35e39c86bee6e651ad4254b5f9ef5d11..10bcf63352e2152f76c91600ac85100359ee95ef 100644
--- a/ethstate/state.go
+++ b/ethstate/state.go
@@ -26,7 +26,7 @@ type State struct {
 }
 
 // Create a new state from a given trie
-func NewState(trie *ethtrie.Trie) *State {
+func New(trie *ethtrie.Trie) *State {
 	return &State{Trie: trie, stateObjects: make(map[string]*StateObject), manifest: NewManifest()}
 }
 
@@ -128,7 +128,7 @@ func (s *State) Cmp(other *State) bool {
 
 func (self *State) Copy() *State {
 	if self.Trie != nil {
-		state := NewState(self.Trie.Copy())
+		state := New(self.Trie.Copy())
 		for k, stateObject := range self.stateObjects {
 			state.stateObjects[k] = stateObject.Copy()
 		}
diff --git a/ethstate/state_object.go b/ethstate/state_object.go
index 309e3e762aebe06e036aa08a5914a2e6c3e4d81a..67d09edd8c51d1a3867551a8d03a19fc67fb1219 100644
--- a/ethstate/state_object.go
+++ b/ethstate/state_object.go
@@ -62,7 +62,7 @@ func NewStateObject(addr []byte) *StateObject {
 	address := ethutil.Address(addr)
 
 	object := &StateObject{address: address, Balance: new(big.Int), gasPool: new(big.Int)}
-	object.State = NewState(ethtrie.New(ethutil.Config.Db, ""))
+	object.State = New(ethtrie.New(ethutil.Config.Db, ""))
 	object.storage = make(Storage)
 	object.gasPool = new(big.Int)
 
@@ -72,7 +72,7 @@ func NewStateObject(addr []byte) *StateObject {
 func NewContract(address []byte, balance *big.Int, root []byte) *StateObject {
 	contract := NewStateObject(address)
 	contract.Balance = balance
-	contract.State = NewState(ethtrie.New(ethutil.Config.Db, string(root)))
+	contract.State = New(ethtrie.New(ethutil.Config.Db, string(root)))
 
 	return contract
 }
@@ -300,7 +300,7 @@ func (c *StateObject) RlpDecode(data []byte) {
 
 	c.Nonce = decoder.Get(0).Uint()
 	c.Balance = decoder.Get(1).BigInt()
-	c.State = NewState(ethtrie.New(ethutil.Config.Db, decoder.Get(2).Interface()))
+	c.State = New(ethtrie.New(ethutil.Config.Db, decoder.Get(2).Interface()))
 	c.storage = make(map[string]*ethutil.Value)
 	c.gasPool = new(big.Int)
 
diff --git a/ethstate/state_test.go b/ethstate/state_test.go
index cd13e80bce1ffc4fe81c48488205e6f0ef4ac86b..00c9de9d6b21ad9357e538d1bd9fa7d57f5c7414 100644
--- a/ethstate/state_test.go
+++ b/ethstate/state_test.go
@@ -1,10 +1,11 @@
 package ethstate
 
 import (
+	"testing"
+
 	"github.com/ethereum/eth-go/ethdb"
 	"github.com/ethereum/eth-go/ethtrie"
 	"github.com/ethereum/eth-go/ethutil"
-	"testing"
 )
 
 var ZeroHash256 = make([]byte, 32)
@@ -14,7 +15,7 @@ func TestSnapshot(t *testing.T) {
 	ethutil.ReadConfig(".ethtest", "/tmp/ethtest", "")
 	ethutil.Config.Db = db
 
-	state := NewState(ethtrie.NewTrie(db, ""))
+	state := New(ethtrie.New(db, ""))
 
 	stateObject := state.GetOrNewStateObject([]byte("aa"))