Changed tree to use parent array position id rather than parent name,
tree down to 816 bytes from 2.8 kB! (including changes in last commit)