refactored requestManager