updated request/response constructor