diff --git a/pom.xml b/pom.xml
index 97ca101..308e1c2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -150,5 +150,11 @@
             <artifactId>etaprinter</artifactId>
             <version>2.0.0</version>
         </dependency>
+        <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 -->
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-collections4</artifactId>
+            <version>4.1</version>
+        </dependency>
     </dependencies>
 </project>
\ No newline at end of file
diff --git a/src/main/java/org/ids_mannheim/SlidingWindowQueue.java b/src/main/java/org/ids_mannheim/SlidingWindowQueue.java
index 4f07362..cf3db43 100644
--- a/src/main/java/org/ids_mannheim/SlidingWindowQueue.java
+++ b/src/main/java/org/ids_mannheim/SlidingWindowQueue.java
@@ -1,22 +1,22 @@
 package org.ids_mannheim;
 
-import java.util.LinkedList;
 import java.util.function.Consumer;
+import org.apache.commons.collections4.queue.CircularFifoQueue;
 
-public class SlidingWindowQueue extends LinkedList {
+public class SlidingWindowQueue extends  CircularFifoQueue {
     private final int maxSize;
     private final Consumer<String> flush;
 
     public SlidingWindowQueue(int size, Consumer<String> flush) {
+        super(size);
         this.maxSize = size;
         this.flush = flush;
     }
 
     public boolean add(String k) {
         boolean r = super.add(k);
-        if (size() == maxSize) {
+        if (isAtFullCapacity()) {
             this.flush.accept(String.join(" ", this));
-            remove(0);
         }
         return r;
     }
