add menu repository and request/response data model