cooperating traversal