add request/response interface