updated request and response structure