added (not yet ready for windows) ringbuffer