refactoring request class