add tree traversal