learn BinaryTree