switched to using unique_ptr inside of the request types