Add optional io.ReadWriteCloser parameter