add treetraversal