some update to BinaryTree