refactored PutRequest and PostRequest, cleanup