A circular FIFO implementation