read/copy/update buffer