refractored route