separate start_traversal