moved everything related to the routing to a reusable service provider