backend: add RouteManager