diff --git a/src/aliensimulator/predators/PredatorFactory.java b/src/aliensimulator/predators/PredatorFactory.java
index 14ad9e3fe5367105689b17c33998c9d984611dd0..66292227c83710177e0105822eb594f722bb44dd 100644
--- a/src/aliensimulator/predators/PredatorFactory.java
+++ b/src/aliensimulator/predators/PredatorFactory.java
@@ -1,13 +1,23 @@
 package aliensimulator.predators;
 
 
+import java.io.IOException;
+import java.util.Properties;
+
 public class PredatorFactory {
 
 	public Predator createPredator(String type) {
-    	if (type.equals("yautja")) {
-    		return new Yautja();
-	} else if (type.equals("hishquten")) {
-	    	return new HishQuTen();
-	} else return null;
+		Predator predator = null;
+		Properties properties = new Properties();
+
+		try {
+			properties.load(this.getClass().getResourceAsStream("predator.properties"));
+			String className = properties.getProperty(type);
+			Class<?> classOfPredator = Class.forName(className);
+			predator = (Predator) classOfPredator.newInstance();
+		} catch (IOException | ClassNotFoundException | InstantiationException | IllegalAccessException e) {
+			e.printStackTrace();
+		}
+		return predator;
 	}
 }
diff --git a/src/aliensimulator/predators/predator.properties b/src/aliensimulator/predators/predator.properties
new file mode 100644
index 0000000000000000000000000000000000000000..a1f5396a9b8cde58977be9f74eb2a680840745d0
--- /dev/null
+++ b/src/aliensimulator/predators/predator.properties
@@ -0,0 +1,2 @@
+yautja=aliensimulator.predators.Yautja
+hishquten=aliensimulator.predators.HishQuTen