half part ring buffer
maybe work
update