separation of controllers and services