refactor: route registration