rename TreeNode to Node