added QRingBuffer type