decoupled routes and controllers