request and response seperate