Implements CircularBuffer