Refactored TreeNode to BinaryTreeNode