switch to marcelklehr/toposort