diff --git a/src/main/java/model/MotorizedFactory.java b/src/main/java/model/MotorizedFactory.java
index ba9049c0f531b4e9bf04b2ab830778c5d98f2452..326a5c193f53c436d5497b22fa23048cfadac3d1 100644
--- a/src/main/java/model/MotorizedFactory.java
+++ b/src/main/java/model/MotorizedFactory.java
@@ -1,4 +1,38 @@
 package model;
 
-public class MotorizedFactory {
+import util.Position;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+public class MotorizedFactory implements ElementFactory<MotorizedFireFighter>, PositionGenerator{
+    private final Random random;
+    private int count;
+
+    public MotorizedFactory(Random random, int count) {
+        this.random = random;
+        this.count = count;
+    }
+
+    @Override
+    public List<MotorizedFireFighter> createElements(int rowCount, int columnCount) {
+        List<MotorizedFireFighter> firefighters = new ArrayList<>();
+        for (int i = 0; i < count; i++) {
+            Position randomPosition = generateRandomPosition(rowCount, columnCount);
+            firefighters.add(new MotorizedFireFighter(randomPosition));
+        }
+        return firefighters;
+    }
+
+    @Override
+    public Position generateRandomPosition(int rowCount, int columnCount) {
+        int row = random.nextInt(rowCount);
+        int column = random.nextInt(columnCount);
+        return new Position(row, column);
+    }
+
+    public int getCount() {
+        return count;
+    }
 }