finish the tree walker implementation