separated buffer into bufferRunner