RouteProvider refactor