use a more intuitive size/capacity
improved ringbuffer and fixed windows bugs