diff --git a/ethutil/trie.go b/ethutil/trie.go
index c25bd80cb6bf5d32819422d4c711e0b710c7156f..e900a0a6334f598af4d7ce68a7df02ac8d0d8cac 100644
--- a/ethutil/trie.go
+++ b/ethutil/trie.go
@@ -5,6 +5,15 @@ import (
 	"reflect"
 )
 
+// TODO
+// A StateObject is an object that has a state root
+// This is goig to be the object for the second level caching (the caching of object which have a state such as contracts)
+type StateObject interface {
+	State() *Trie
+	Sync()
+	Undo()
+}
+
 type Node struct {
 	Key   []byte
 	Value *Value