some refinements to the request/response model