diff --git a/blockgenesistest.json b/blockgenesistest.json
new file mode 100644
index 0000000000000000000000000000000000000000..8ad5590f11a42d619f80939643a50590cc42a04e
--- /dev/null
+++ b/blockgenesistest.json
@@ -0,0 +1,20 @@
+[
+    {
+        "inputs": {
+        },
+        "result": "f892f88ea00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d493479400000000000000000000000000000000000000008080834000008087038d7ea4c68000830f4240808080a004994f67dc55b09e814ab7ffc8df3686b4afb2bb53e60eae97ef043fe03fb829c0c0"
+    },
+    {
+        "inputs": {
+            "cd2a3d9f938e13cd947ec05abc7fe734df8dd826": 100000000000000000000
+        },
+        "result": "f8b2f8aea00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a05e5b074eca68ed6f5cf3ef14712b7c97f431a41deff21e3f211cf687f618026780834000008087038d7ea4c68000830f4240808080a004994f67dc55b09e814ab7ffc8df3686b4afb2bb53e60eae97ef043fe03fb829c0c0"
+    },
+    {
+        "inputs": {
+            "cd2a3d9f938e13cd947ec05abc7fe734df8dd826": 99000000000000000000,
+            "13978aee95f38490e9769c39b2773ed763d9cd5f": 1000000000000000000
+        },
+        "result": "f8b2f8aea00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a0b1062e564d1bdb302a2feae46e837fef59c4f8a408967009dcc48327d80d8fff80834000008087038d7ea4c68000830f4240808080a004994f67dc55b09e814ab7ffc8df3686b4afb2bb53e60eae97ef043fe03fb829c0c0"
+    }
+]
diff --git a/genesishashestest.json b/genesishashestest.json
new file mode 100644
index 0000000000000000000000000000000000000000..e792c1d28df5e47e9f50bc49956bd287ee5e8fcd
--- /dev/null
+++ b/genesishashestest.json
@@ -0,0 +1,15 @@
+{
+    "genesis_rlp_hex": "f8abf8a7a00000000000000000000000000000000000000000000000000000000000000000a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347940000000000000000000000000000000000000000a023b503734ff34ddb7bd5e478f1645680ec778ab3f90007cb1c854653693e5adc80834000008080830f4240808080a004994f67dc55b09e814ab7ffc8df3686b4afb2bb53e60eae97ef043fe03fb829c0c0",
+    "genesis_state_root": "23b503734ff34ddb7bd5e478f1645680ec778ab3f90007cb1c854653693e5adc",
+    "initial_alloc": {
+        "8a40bfaa73256b60764c1bf40675a99083efb075": "1606938044258990275541962092341162602522202993782792835301376",
+        "e4157b34ea9615cfbde6b4fda419828124b70c78": "1606938044258990275541962092341162602522202993782792835301376",
+        "1e12515ce3e0f817a4ddef9ca55788a1d66bd2df": "1606938044258990275541962092341162602522202993782792835301376",
+        "6c386a4b26f73c802f34673f7248bb118f97424a": "1606938044258990275541962092341162602522202993782792835301376",
+        "cd2a3d9f938e13cd947ec05abc7fe734df8dd826": "1606938044258990275541962092341162602522202993782792835301376",
+        "2ef47100e0787b915105fd5e3f4ff6752079d5cb": "1606938044258990275541962092341162602522202993782792835301376",
+        "e6716f9544a56c530d868e4bfbacb172315bdead": "1606938044258990275541962092341162602522202993782792835301376",
+        "1a26338f0d905e295fccb71fa9ea849ffa12aaf4": "1606938044258990275541962092341162602522202993782792835301376"
+    },
+    "genesis_hash": "77ef4fdaf389dca53236bcf7f72698e154eab2828f86fbc4fc6cd9225d285c89"
+}
diff --git a/keyaddrtest.json b/keyaddrtest.json
new file mode 100644
index 0000000000000000000000000000000000000000..f489050373215a4909195b84291c6d2072e5cbcd
--- /dev/null
+++ b/keyaddrtest.json
@@ -0,0 +1,22 @@
+[
+    {
+        "seed": "cow",
+        "key": "c85ef7d79691fe79573b1a7064c19c1a9819ebdbd1faaab1a8ec92344438aaf4",
+        "addr": "cd2a3d9f938e13cd947ec05abc7fe734df8dd826",
+        "sig_of_emptystring": {
+            v: 27,
+            r: 55022946425863772466282515086640833500580355555249003729267710149987842051473,
+            s: 3021698389129950584349170550428805649435913935175976180112863059249983907949
+        }
+    },
+    {
+        "seed": "horse",
+        "key": "c87f65ff3f271bf5dc8643484f66b200109caffe4bf98c4cb393dc35740b28c0",
+        "addr": "13978aee95f38490e9769c39b2773ed763d9cd5f",
+        "sig_of_emptystring": {
+            v: 28,
+            r: 20570452350081260599473412372903969148670549754219103025003129053348571714359,
+            s: 76892551129780267788164835941580941601518827936179476514262023835864819088004
+        }
+    }
+]
diff --git a/rlptest.json b/rlptest.json
index e96447199c4bcae1e9ccd4f91c0219af4abdea65..19adbb8e22f3719e8a74f0e9eccb3d0d868ece56 100644
--- a/rlptest.json
+++ b/rlptest.json
@@ -1,44 +1,144 @@
 {
-    "emptystring": {
-        "in": "", 
-        "out": "80"
-    },
-    "shortstring": {
-        "in": "dog", 
+	"emptystring": {
+		"in": "", 
+		"out": "80"
+	},
+	"shortstring": {
+		"in": "dog", 
 		"out": "83646f67"
     },
-    "longstring": {
-        "in": "Lorem ipsum dolor sit amet, consectetur adipisicing elit", 
+	"shortstring2": {
+		"in": "Lorem ipsum dolor sit amet, consectetur adipisicing eli", 
+		"out": "b74c6f72656d20697073756d20646f6c6f722073697420616d65742c20636f6e7365637465747572206164697069736963696e6720656c69"
+	},
+	"longstring": {
+		"in": "Lorem ipsum dolor sit amet, consectetur adipisicing elit", 
 		"out": "b8384c6f72656d20697073756d20646f6c6f722073697420616d65742c20636f6e7365637465747572206164697069736963696e6720656c6974"
-    },
-    "zero": {
-        "in": 0, 
-        "out": "80"
-    },
-    "smallint": {
-        "in": 1, 
-        "out": "01"
-    },
-    "mediumint": {
-        "in": 1000, 
-        "out": "8203e8"
-    },
+	},
+	"longstring2": {
+	"in": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur mauris magna, suscipit sed vehicula non, iaculis faucibus tortor. Proin suscipit ultricies malesuada. Duis tortor elit, dictum quis tristique eu, ultrices at risus. Morbi a est imperdiet mi ullamcorper aliquet suscipit nec lorem. Aenean quis leo mollis, vulputate elit varius, consequat enim. Nulla ultrices turpis justo, et posuere urna consectetur nec. Proin non convallis metus. Donec tempor ipsum in mauris congue sollicitudin. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse convallis sem vel massa faucibus, eget lacinia lacus tempor. Nulla quis ultricies purus. Proin auctor rhoncus nibh condimentum mollis. Aliquam consequat enim at metus luctus, a eleifend purus egestas. Curabitur at nibh metus. Nam bibendum, neque at auctor tristique, lorem libero aliquet arcu, non interdum tellus lectus sit amet eros. Cras rhoncus, metus ac ornare cursus, dolor justo ultrices metus, at ullamcorper volutpat", 
+		"out": "b904004c6f72656d20697073756d20646f6c6f722073697420616d65742c20636f6e73656374657475722061646970697363696e6720656c69742e20437572616269747572206d6175726973206d61676e612c20737573636970697420736564207665686963756c61206e6f6e2c20696163756c697320666175636962757320746f72746f722e2050726f696e20737573636970697420756c74726963696573206d616c6573756164612e204475697320746f72746f7220656c69742c2064696374756d2071756973207472697374697175652065752c20756c7472696365732061742072697375732e204d6f72626920612065737420696d70657264696574206d6920756c6c616d636f7270657220616c6971756574207375736369706974206e6563206c6f72656d2e2041656e65616e2071756973206c656f206d6f6c6c69732c2076756c70757461746520656c6974207661726975732c20636f6e73657175617420656e696d2e204e756c6c6120756c74726963657320747572706973206a7573746f2c20657420706f73756572652075726e6120636f6e7365637465747572206e65632e2050726f696e206e6f6e20636f6e76616c6c6973206d657475732e20446f6e65632074656d706f7220697073756d20696e206d617572697320636f6e67756520736f6c6c696369747564696e2e20566573746962756c756d20616e746520697073756d207072696d697320696e206661756369627573206f726369206c756374757320657420756c74726963657320706f737565726520637562696c69612043757261653b2053757370656e646973736520636f6e76616c6c69732073656d2076656c206d617373612066617563696275732c2065676574206c6163696e6961206c616375732074656d706f722e204e756c6c61207175697320756c747269636965732070757275732e2050726f696e20617563746f722072686f6e637573206e69626820636f6e64696d656e74756d206d6f6c6c69732e20416c697175616d20636f6e73657175617420656e696d206174206d65747573206c75637475732c206120656c656966656e6420707572757320656765737461732e20437572616269747572206174206e696268206d657475732e204e616d20626962656e64756d2c206e6571756520617420617563746f72207472697374697175652c206c6f72656d206c696265726f20616c697175657420617263752c206e6f6e20696e74657264756d2074656c6c7573206c65637475732073697420616d65742065726f732e20437261732072686f6e6375732c206d65747573206163206f726e617265206375727375732c20646f6c6f72206a7573746f20756c747269636573206d657475732c20617420756c6c616d636f7270657220766f6c7574706174"
+	},
+	"zero": {
+		"in": 0, 
+		"out": "80"
+	},
+	"smallint": {
+		"in": 1, 
+		"out": "01"
+	},
+	"smallint2": {
+		"in": 16, 
+		"out": "10"
+	},
+	"smallint3": {
+		"in": 79, 
+		"out": "4f"
+	},
+	"smallint4": {
+		"in": 127, 
+		"out": "7f"
+	},
+	"mediumint1": {
+		"in": 128, 
+		"out": "8180"
+	},
+	"mediumint2": {
+		"in": 1000, 
+		"out": "8203e8"
+	},
+	"mediumint3": {
+		"in": 100000, 
+		"out": "830186a0"
+	},
+	"mediumint4": {
+		"in": "#83729609699884896815286331701780722", 
+		"out": "8F102030405060708090A0B0C0D0E0F2"
+	},
+	"mediumint5": {
+		"in": "#105315505618206987246253880190783558935785933862974822347068935681",
+		"out": "9C0100020003000400050006000700080009000A000B000C000D000E01"
+	},
 	"emptylist": {
-        "in": [], 
-        "out": "c0"
-    },
-    "stringlist": {
-        "in": [ "dog", "god", "cat" ],
+		"in": [], 
+		"out": "c0"
+	},
+	"stringlist": {
+		"in": [ "dog", "god", "cat" ],
 		"out": "cc83646f6783676f6483636174"
-    },
-    "multilist": {
-        "in": [ "zw", [ 4 ], 1 ], 
+	},
+	"multilist": {
+		"in": [ "zw", [ 4 ], 1 ], 
 		"out": "c6827a77c10401"
-    },
-    "listsoflists": {
-        "in": [ [ [], [] ], [] ], 
+	},
+	"shortListMax1": {
+		"in": [ "asdf", "qwer", "zxcv", "asdf","qwer", "zxcv", "asdf", "qwer", "zxcv", "asdf", "qwer"],
+		"out": "F784617364668471776572847a78637684617364668471776572847a78637684617364668471776572847a78637684617364668471776572"
+	},
+	"longList1" : { 
+		"in" : [
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"]
+		], 
+		"out": "F840CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376"
+	},
+	"longList2" : { 
+		"in" : [
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"],
+			["asdf","qwer","zxcv"]
+		], 
+		"out": "F90200CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376CF84617364668471776572847a786376"
+	},
+
+	"listsoflists": {
+		"in": [ [ [], [] ], [] ], 
 		"out": "c4c2c0c0c0"
 	},
+	"listsoflists2": {
+		"in": [ [], [[]], [ [], [[]] ] ], 
+		"out": "c7c0c1c0c3c0c1c0"
+	},
+	"dictTest1" : { 
+		"in" : [ 
+			["key1", "val1"], 
+			["key2", "val2"], 
+			["key3", "val3"],
+			["key4", "val4"]
+		],
+		"out" : "ECCA846b6579318476616c31CA846b6579328476616c32CA846b6579338476616c33CA846b6579348476616c34"
+	},
 	"bigint": {
 		"in": "#115792089237316195423570985008687907853269984665640564039457584007913129639936",
 		"out": "a1010000000000000000000000000000000000000000000000000000000000000000"
diff --git a/trietest.json b/trietest.json
index 4b2327e88ca296490faef19cbe8b66711b9ca18e..c77e7eb8e15527312ff814dcb4910c31d9ce25e3 100644
--- a/trietest.json
+++ b/trietest.json
@@ -1,47 +1,61 @@
 {
-	"basic": {
-		"in": {
-			"a": "A",
-			"b": "B"
-		},
-		"root": "300eab197a9d9e437aaeb9b0d7bd77d57e8d4e3eeca0b1e6a3fe28a84e2cd70c"
-	},
-	"basic1": {
-		"in": {
-			"test": "test"
-		},
-		"root": "85d106d4edff3b7a4889e91251d0a87d7c17a1dda648ebdba8c6060825be23b8"
-	},
-	"basic2": {
-		"in": {
-			"test": "test",
-			"te": "testy"
-		},
-		"root": "8452568af70d8d140f58d941338542f645fcca50094b20f3c3d8c3df49337928"
-	},
-	"beprefix": {
-		"in": {
-			"be": "e",
-			"bed": "d",
-			"dog": "puppy"
-		},
-		"root": "3f67c7a47520f79faa29255d2d3c084a7a6df0453116ed7232ff10277a8be68b"
-	},
-	"doprefix": {
-		"in": {
-			"doe": "reindeer",
-			"dog": "puppy",
-			"dogglesworth": "cat"
-		},
-		"root": "8aad789dff2f538bca5d8ea56e8abe10f4c7ba3a5dea95fea4cd6e7c3a1168d3"
-	},
-	"multiprefix": {
-		"in": {
-			"do": "verb",
-			"horse": "stallion",
-			"doge": "coin",
-			"dog": "puppy"
-		},
-		"root": "5991bb8c6514148a29db676a14ac506cd2cd5775ace63c30a4fe457715e9ac84"
-	}
+  "singleItem": {
+    "inputs": [
+      ["A", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]
+    ],
+    "expectation": "d23786fb4a010da3ce639d66d5e904a11dbc02746d1ce25029e53290cabf28ab"
+  },
+  "dogs": {
+    "inputs": [
+      ["doe", "reindeer"],
+      ["dog", "puppy"],
+      ["dogglesworth", "cat"]
+    ],
+    "expectation": "8aad789dff2f538bca5d8ea56e8abe10f4c7ba3a5dea95fea4cd6e7c3a1168d3"
+  },
+  "puppy": {
+    "inputs":[
+      ["do", "verb"],
+      ["horse", "stallion"],
+      ["doge", "coin"],
+      ["dog", "puppy"]
+    ],
+    "expectation": "5991bb8c6514148a29db676a14ac506cd2cd5775ace63c30a4fe457715e9ac84"
+  },
+  "emptyValues": {
+    "inputs":[
+      ["do", "verb"],
+      ["ether", "wookiedoo"],
+      ["horse", "stallion"],
+      ["shaman", "horse"],
+      ["doge", "coin"],
+      ["ether", ""],
+      ["dog", "puppy"],
+      ["shaman", ""]
+    ],
+    "expectation": "5991bb8c6514148a29db676a14ac506cd2cd5775ace63c30a4fe457715e9ac84"
+  },
+  "foo": {
+    "inputs":[
+      ["foo", "bar"],
+      ["food", "bat"],
+      ["food", "bass"]
+    ],
+    "expectation": "17beaa1648bafa633cda809c90c04af50fc8aed3cb40d16efbddee6fdf63c4c3"
+  },
+  "smallValues": {
+    "inputs":[
+      ["be", "e"],
+      ["dog", "puppy"],
+      ["bed", "d"]
+    ],
+    "expectation": "3f67c7a47520f79faa29255d2d3c084a7a6df0453116ed7232ff10277a8be68b"
+  },
+  "testy": {
+    "inputs":[
+      ["test", "test"],
+      ["te", "testy"]
+    ],
+    "expectation": "8452568af70d8d140f58d941338542f645fcca50094b20f3c3d8c3df49337928"
+  }
 }
diff --git a/txtest.json b/txtest.json
new file mode 100644
index 0000000000000000000000000000000000000000..1261d07660203830c7766ca9573605fcff331728
--- /dev/null
+++ b/txtest.json
@@ -0,0 +1,24 @@
+[
+    {
+        "key": "c85ef7d79691fe79573b1a7064c19c1a9819ebdbd1faaab1a8ec92344438aaf4",
+        "nonce": 0,
+        "gasprice": 1000000000000,
+        "startgas": 10000,
+        "to": "13978aee95f38490e9769c39b2773ed763d9cd5f",
+        "value": 10000000000000000,
+        "data": "",
+        "unsigned": "eb8085e8d4a510008227109413978aee95f38490e9769c39b2773ed763d9cd5f872386f26fc1000080808080",
+        "signed": "f86b8085e8d4a510008227109413978aee95f38490e9769c39b2773ed763d9cd5f872386f26fc10000801ba0eab47c1a49bf2fe5d40e01d313900e19ca485867d462fe06e139e3a536c6d4f4a014a569d327dcda4b29f74f93c0e9729d2f49ad726e703f9cd90dbb0fbf6649f1"
+    },
+    {
+        "key": "c87f65ff3f271bf5dc8643484f66b200109caffe4bf98c4cb393dc35740b28c0",
+        "nonce": 0,
+        "gasprice": 1000000000000,
+        "startgas": 10000,
+        "to": "",
+        "value": 0,
+        "data": "6025515b525b600a37f260003556601b596020356000355760015b525b54602052f260255860005b525b54602052f2",
+        "unsigned": "f83f8085e8d4a510008227108080af6025515b525b600a37f260003556601b596020356000355760015b525b54602052f260255860005b525b54602052f2808080",
+        "signed": "f87f8085e8d4a510008227108080af6025515b525b600a37f260003556601b596020356000355760015b525b54602052f260255860005b525b54602052f21ba05afed0244d0da90b67cf8979b0f246432a5112c0d31e8d5eedd2bc17b171c694a0bb1035c834677c2e1185b8dc90ca6d1fa585ab3d7ef23707e1a497a98e752d1b"
+    }
+]