+ support buffered writing of files