base request refactored