change a new toposort