diff --git a/ethereum.go b/ethereum.go
index e260e6c0ec1efd097e72f1dc674c5ec3f7f94f12..ac9690e41d081f2a3227222201f1b6b58000e3ef 100644
--- a/ethereum.go
+++ b/ethereum.go
@@ -4,10 +4,18 @@ import (
   "fmt"
   "os"
   "os/signal"
+  "flag"
 )
 
 const Debug = true
 
+var StartDBQueryInterface bool
+func Init() {
+  flag.BoolVar(&StartDBQueryInterface, "db", false, "start db query interface")
+
+  flag.Parse()
+}
+
 // Register interrupt handlers so we can stop the server
 func RegisterInterupts(s *Server) {
   // Buffered chan of one is enough
@@ -26,32 +34,12 @@ func RegisterInterupts(s *Server) {
 func main() {
   InitFees()
 
-  bm := NewBlockManager()
-
-  tx := NewTransaction("\x00", 20, []string{
-    "SET 10 6",
-    "LD 10 10",
-    "LT 10 1 20",
-    "SET 255 7",
-    "JMPI 20 255",
-    "STOP",
-    "SET 30 200",
-    "LD 30 31",
-    "SET 255 22",
-    "JMPI 31 255",
-    "SET 255 15",
-    "JMP 255",
-  })
-  txData := tx.MarshalRlp()
-
-  copyTx := &Transaction{}
-  copyTx.UnmarshalRlp(txData)
-
-  tx2 := NewTransaction("\x00", 20, []string{"SET 10 6", "LD 10 10"})
-
-  blck := CreateBlock([]*Transaction{tx2, tx})
-
-  bm.ProcessBlock( blck )
+  Init()
 
-  fmt.Println("GenesisBlock:", GenisisBlock, "hashed", GenisisBlock.Hash())
+  if StartDBQueryInterface {
+    dbInterface := NewDBInterface()
+    dbInterface.Start()
+  } else {
+    Testing()
+  }
 }
diff --git a/trie_test.go b/trie_test.go
index dac2333c906ef8f31f2f401b27f546a5e4fe426e..6dbe040ee197c689b07564341df8f9b17a4b8b87 100644
--- a/trie_test.go
+++ b/trie_test.go
@@ -5,24 +5,6 @@ import (
   "encoding/hex"
 )
 
-type MemDatabase struct {
-  db      map[string][]byte
-}
-
-func NewMemDatabase() (*MemDatabase, error) {
-  db := &MemDatabase{db: make(map[string][]byte)}
-
-  return db, nil
-}
-
-func (db *MemDatabase) Put(key []byte, value []byte) {
-  db.db[string(key)] = value
-}
-
-func (db *MemDatabase) Get(key []byte) ([]byte, error) {
-  return db.db[string(key)], nil
-}
-
 func TestTriePut(t *testing.T) {
   db, err := NewMemDatabase()
   trie := NewTrie(db, "")