controller refactorings