pull from buffer