Add services and refactor Controllers