read buffer