wip routing refactor