diff --git a/src/core/de.evoal.core.main/src/main/java/de/evoal/core/main/ea/producer/SelectorFactory.java b/src/core/de.evoal.core.main/src/main/java/de/evoal/core/main/ea/producer/SelectorFactory.java
index ffbf125bce1dadf70c72bb36f010b625f8d18487..17433b5e20e27fb2d28b467c69951a2a6bd128a7 100644
--- a/src/core/de.evoal.core.main/src/main/java/de/evoal/core/main/ea/producer/SelectorFactory.java
+++ b/src/core/de.evoal.core.main/src/main/java/de/evoal/core/main/ea/producer/SelectorFactory.java
@@ -8,10 +8,14 @@ import io.jenetics.*;
 
 import javax.enterprise.context.ApplicationScoped;
 import javax.enterprise.inject.Produces;
+import javax.inject.Inject;
 import javax.inject.Named;
 
 @ApplicationScoped
 public class SelectorFactory {
+	@Inject
+	@ConfigurationValue(entry = CoreBlackboardEntries.OPTIMISATION_CONFIGURATION, access = "algorithm.size-of-population")
+	private int sizeOfPopulation;
 
 	@Produces
 	@Named("survivor")
@@ -60,9 +64,9 @@ public class SelectorFactory {
 		return new TruncationSelector<>(worstRank);
 	}
 
-	private static <G extends Gene<?,G>, C extends Comparable<? super C>> Selector<G, C> createTournamentSelector(final Instance config) {
-		int sampleSize = LanguageHelper.lookup(config, "size");
-		return new TournamentSelector<>(sampleSize);
+	private <G extends Gene<?,G>, C extends Comparable<? super C>> Selector<G, C> createTournamentSelector(final Instance config) {
+		int count = (int)(LanguageHelper.<Double>lookup(config, "size-factor") * sizeOfPopulation);
+		return new TournamentSelector<>(count);
 	}
 
 	private static <G extends Gene<?,G>, C extends Comparable<? super C>> Selector<G, C> createStochasticUniversalSelector(final Instance config) {
@@ -82,9 +86,8 @@ public class SelectorFactory {
 	}
 
 	private <G extends Gene<?,G>, C extends Comparable<? super C>> EliteSelector<G,C> createEliteSelector(final Instance config) {
-		
-		int count = LanguageHelper.lookup(config, "count");
-		final Instance nonEliteSelectorConfig = LanguageHelper.lookup(config, "nonEliteSelector");
+		int count = (int)(LanguageHelper.<Double>lookup(config, "size-factor") * sizeOfPopulation);
+		final Instance nonEliteSelectorConfig = LanguageHelper.lookup(config, "non-elite-selector");
 		
 		if(nonEliteSelectorConfig == null) {
 			return new EliteSelector<>(count);