better name of WriteOnceWriter