much more efficient concatenation of data buffers