Refactored request functions