first shot at toposort
finish topo