buffer is needed