refactor controllers - WIP