we should only cache the raw response
should just use writer as we're defining reader
prepare to release