introducing a response object to encapsulate all response data