request refactored