allow the use of custom response object