for request and response