Refactor into a request service