dependency graph traversal