updates to ringbufferheap, only call get() once