issue #10 - use topological order iterator to sort dependencies