split out SingleIntermediateStorageWriter