ring buffer and other stuff...