use buffers to concatenate strings