add traversal