refactor of the tree interface. we are inserting and removing items, not nodes
minor refactor
removing unused expression
more refactoring
the nodes contain an index