refactoring request controller