use a non broken ringbuffer