separate route and controllers