route refactor