diff --git a/python_arborist.py b/python_arborist.py
index c0ee7e0e5084eef81ca477cea209a312384541ea..b72e820e6ec7eb83b3b36e119b42209a8024caad 100644
--- a/python_arborist.py
+++ b/python_arborist.py
@@ -301,6 +301,32 @@ if __name__ == '__main__':
         print(x)
 
 
+serialized_tree_final = trace[-1]
+print("EGG")
+
+print(serialized_tree_final)
+
+
+top_bit = 0x1000
+
+def deserializer(serialized_array):
+    idx = 0
+    while (idx < len(serialized_array)):
+        new_element     = serialized_array[idx]
+        number_subnodes = serialized_array[idx + 1]
+        if (number_subnodes < 1):
+            print("MALFORMED AT IDX", idx)
+            print("TOTAL LEN OF ARRAY IS", len(serialized_array))
+            break
+
+        subnodes_array = []
+        for sub_idx in range(idx + 2, idx + 2 + number_subnodes):
+            subnodes_array.append(serialized_array[sub_idx])
+
+        print("NEW SUBNODES ARE:",subnodes_array)
+        idx += 2 + number_subnodes
+
+
 
 class TreeNode:
     def __init__(self, language_element, subnodes):
@@ -309,14 +335,4 @@ class TreeNode:
 
     def __str__(self):
         return str(self.language_element)
-
-x = TreeNode("abcd", [])
-
-print(x)
-print(x.subnodes)
-
-x.subnodes=[TreeNode("defg",[423])]
-
-print(x)
-print(x.subnodes)
-print(x.subnodes[0].subnodes)
\ No newline at end of file
+deserializer(serialized_tree_final)
\ No newline at end of file