binary tree without iterator