diff --git a/src/main/java/model/elements/FirefighterHandler.java b/src/main/java/model/elements/FirefighterHandler.java
new file mode 100644
index 0000000000000000000000000000000000000000..3c378ee142940247fbbf60f04cfce69699678e79
--- /dev/null
+++ b/src/main/java/model/elements/FirefighterHandler.java
@@ -0,0 +1,35 @@
+package model.elements;
+
+import model.Firefighter;
+import model.ModelElement;
+import util.Position;
+
+import java.util.*;
+
+public class FirefighterHandler implements ElementHandler {
+    private final List<Firefighter> firefighters;
+
+    public FirefighterHandler(List<Firefighter> firefighters) {
+        this.firefighters = firefighters;
+    }
+
+    @Override
+    public void addElement(Position position) {
+        firefighters.add(new Firefighter(position));
+    }
+
+    @Override
+    public void removeElement(Position position) {
+        firefighters.removeIf(f -> f.getPosition().equals(position));
+    }
+
+    @Override
+    public boolean hasElement(Position position) {
+        return firefighters.stream().anyMatch(f -> f.getPosition().equals(position));
+    }
+
+    @Override
+    public ModelElement getModelElement() {
+        return ModelElement.FIREFIGHTER;
+    }
+}