make a new buffer for each copy write