hidden constructors of request and response