requires a readwriter, instead of a readwritercloser