always read the buffer