try not to allocate new buffers