document TreeNode