Major rewrite, improved class structure, 
added binary nodes