diff --git a/src/core/de.evoal.core/scripts/run-search.sh b/src/core/de.evoal.core/scripts/run-search.sh
index d559d1acd03cf3e93e063ddfbf6913699d8fc58e..48fa0a2d2517faa7dc4b589e652045e9794fb06c 100755
--- a/src/core/de.evoal.core/scripts/run-search.sh
+++ b/src/core/de.evoal.core/scripts/run-search.sh
@@ -19,5 +19,5 @@ java -Dorg.jboss.logging.provider=slf4j\
      --add-exports io.jenetics.base/io.jenetics.internal.util=de.evoal.core \
      -m de.evoal.core/de.evoal.core.main.Evoal \
      "-Bcore:main=heuristic-search" \
-     "-Bcore:ea-configuration-file=$2" \
+     "-Bcore:optimisation-configuration-file=$2" \
      "-Bcore:evaluation-output-folder=$3"
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/api/board/BlackboardEntry.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/api/board/BlackboardEntry.java
index 6d515fe7773ae7c65ebeb507a0f03d3879d52b63..9d6acdf147280bc970cab21840bd7dab6500b346 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/api/board/BlackboardEntry.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/api/board/BlackboardEntry.java
@@ -27,37 +27,21 @@ public final class BlackboardEntry {
      */
     public static final String EVALUATION_OUTPUT_FOLDER = "core:evaluation-output-folder";
 
-    /**
-     * Configuration file containing the configuration fot the standard fitness function.
-     */
-//    public static final String FITNESS_STANDARD_FUNCTION_FILE = "FITNESS_STANDARD_FUNCTION_FILE";
-
     /**
      * The heuristic configuration.
      */
-    public static final String EA_CONFIGURATION = "core:ea-configuration";
+    public static final String OPTIMISATION_CONFIGURATION = "core:optimisation-configuration";
 
     /**
      * The file containing the ea configuration.
      */
-    public static final String EA_CONFIGURATION_FILE = "core:ea-configuration-file";
-
-    /**
-     * File containing the machine learning file.
-     */
-//    public static final String MACHINE_LEARNING_FILE = "MACHINE_LEARNING_FILE";
+    public static final String OPTIMISATION_CONFIGURATION_FILE = "core:optimisation-configuration-file";
 
     /**
      * Name of the main to run.
      */
     public static final String MAIN = "core:main";
 
-
-    /**
-     * Targets.
-     */
-//    public static final String TARGET_POINTS = "TARGET_POINTS";
-
     /**
      * File containing targets for evaluation.
      */
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/api/ea/constraints/calculation/CalculationFactory.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/api/ea/constraints/calculation/CalculationFactory.java
index 6a864175095c0ed84214089ef0ae1b2cde4ca3d1..8a469f160d0a8a7e5e575aaaaebb1553ec8646d2 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/api/ea/constraints/calculation/CalculationFactory.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/api/ea/constraints/calculation/CalculationFactory.java
@@ -8,7 +8,6 @@ import javax.enterprise.context.ApplicationScoped;
 import de.evoal.core.api.utils.LanguageHelper;
 import de.evoal.languages.model.instance.Array;
 import de.evoal.languages.model.instance.Instance;
-import de.evoal.languages.model.instance.LiteralValue;
 import org.apache.deltaspike.core.api.provider.BeanProvider;
 
 import javax.inject.Inject;
@@ -20,7 +19,7 @@ public class CalculationFactory {
     private final Map<String, Instance> calculationConfigurationByCategory = new HashMap<>();
 
     @Inject
-    public CalculationFactory(final @ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.handlers") Array handlerConfigurations) {
+    public CalculationFactory(final @ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.handlers") Array handlerConfigurations) {
         handlerConfigurations.getValues()
                              .stream()
                              .map(Instance.class::cast)
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/api/properties/PropertiesSpecification.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/api/properties/PropertiesSpecification.java
index 27ab8b942306977aae336530a7e8b73c88666b28..55e5ffd65adcf29c94bec6ed61a450dca5a8e099 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/api/properties/PropertiesSpecification.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/api/properties/PropertiesSpecification.java
@@ -49,6 +49,15 @@ public class PropertiesSpecification {
 			return this;
 		}
 
+		public Builder add(final Collection<PropertySpecification> data) {
+			data.stream()
+				.filter(s -> !properties.contains(s))
+				.peek(properties::add)
+				.forEach(orderedProperties::add);
+
+			return this;
+		}
+
 		public PropertiesSpecification build() {
 			return new PropertiesSpecification(orderedProperties);
 		}
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/api/properties/info/PropertiesBoundaries.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/api/properties/info/PropertiesBoundaries.java
index 7a91ca58c71641bd29b63b056ac97bdccfd0835c..a8626935b268e3841e2766339f0894f94edf5341 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/api/properties/info/PropertiesBoundaries.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/api/properties/info/PropertiesBoundaries.java
@@ -15,6 +15,7 @@ public class PropertiesBoundaries {
 
     private Map<PropertySpecification, Boundaries> boundariesMap = new HashMap<>();
 
+    public boolean contains(final PropertySpecification specification) { return boundariesMap.containsKey(specification); }
 
     public Boundaries get(final PropertySpecification specification) {
         return boundariesMap.get(specification);
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/codec/DynamicCodecProducer.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/codec/DynamicCodecProducer.java
index 5f4b8ba21ca1ee817b5ae0dc12d98c7c9cbc0664..a6722b7da4706c1250e3a13981e3d7cc4b977907 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/codec/DynamicCodecProducer.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/codec/DynamicCodecProducer.java
@@ -4,13 +4,9 @@ import de.evoal.core.api.board.BlackboardEntry;
 import de.evoal.core.api.cdi.ConfigurationValue;
 import de.evoal.core.api.properties.PropertiesSpecification;
 import de.evoal.languages.model.instance.Array;
-import de.evoal.languages.model.instance.Attribute;
-import de.evoal.languages.model.instance.DataReference;
-import de.evoal.languages.model.instance.Instance;
 import lombok.extern.slf4j.Slf4j;
 
 import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.context.Dependent;
 import javax.enterprise.inject.Produces;
 import javax.inject.Named;
 
@@ -18,7 +14,7 @@ import javax.inject.Named;
 @Slf4j
 public class DynamicCodecProducer {
     @Produces @ApplicationScoped
-    public DynamicCodec create(@ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.genotype") Array config, final @Named("genotype-specification") PropertiesSpecification specification) {
+    public DynamicCodec create(@ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.genotype") Array config, final @Named("genotype-specification") PropertiesSpecification specification) {
         log.info("Creating encoding for EA problem.");
 
         return DynamicCodec.from(config, specification);
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/constraints/constraint/ConstraintProducer.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/constraints/constraint/ConstraintProducer.java
index 768940a25c021a344c03f40a4a44d39d43976f34..d6b6faf8f6fd787311d0aa8a4e08bf5950757f4d 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/constraints/constraint/ConstraintProducer.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/constraints/constraint/ConstraintProducer.java
@@ -4,7 +4,6 @@ import de.evoal.core.api.board.BlackboardEntry;
 import de.evoal.core.api.cdi.ConfigurationValue;
 import de.evoal.core.api.ea.constraints.model.Constraint;
 import de.evoal.core.api.ea.constraints.model.Constraints;
-import de.evoal.core.api.ea.codec.CustomCodec;
 import de.evoal.core.api.ea.constraints.model.DataConstraints;
 import de.evoal.core.api.properties.PropertiesSpecification;
 import javax.enterprise.context.ApplicationScoped;
@@ -12,7 +11,6 @@ import javax.enterprise.inject.Produces;
 import javax.inject.Named;
 
 import de.evoal.core.main.ea.constraints.el.ElHelper;
-import de.evoal.core.main.ea.fitness.JeneticsFitnessFunction;
 import de.evoal.languages.model.ddl.DataDescription;
 import de.evoal.languages.model.ddl.FunctionName;
 import de.evoal.languages.model.el.Call;
@@ -36,7 +34,7 @@ public class ConstraintProducer {
     @ApplicationScoped
     public Constraints create(final DataConstraints constraints,
                               @Named("genotype-specification") final PropertiesSpecification genoSpec,
-                              @ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.fitness") final Instance fitnessConfig) {
+                              @ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.fitness") final Instance fitnessConfig) {
         this.genoSpec = genoSpec;
         this.fitnessSpec = toInnerSpecification(fitnessConfig);
 
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/constraints/constraint/strategies/constraint/JeneticsConstraintProducer.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/constraints/constraint/strategies/constraint/JeneticsConstraintProducer.java
index cacd3c567f3fb6b307b07e084d10eb806c03c121..372d920fc8d453d484694216ebe95ae18355e9f2 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/constraints/constraint/strategies/constraint/JeneticsConstraintProducer.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/constraints/constraint/strategies/constraint/JeneticsConstraintProducer.java
@@ -14,7 +14,6 @@ import de.evoal.core.api.properties.PropertiesSpecification;
 import de.evoal.core.api.utils.LanguageHelper;
 import de.evoal.core.main.ea.constraints.constraint.utils.ConfigurationUtils;
 import de.evoal.languages.model.instance.*;
-import org.apache.deltaspike.core.api.provider.BeanProvider;
 
 import javax.enterprise.context.ApplicationScoped;
 import javax.enterprise.inject.Produces;
@@ -28,7 +27,7 @@ import java.util.stream.Collectors;
 public class JeneticsConstraintProducer {
     @Produces
     public List<io.jenetics.engine.Constraint> create(
-            final @ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.handlers") Array handlerConfigurations,
+            final @ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.handlers") Array handlerConfigurations,
             final @Named("optimization-function-output") PropertiesSpecification optimizationSpec,
             final @Named("optimization-function")  FitnessFunction function,
             final CustomCodec codec,
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/constraints/constraint/strategies/fitness/MalusFunctionProducer.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/constraints/constraint/strategies/fitness/MalusFunctionProducer.java
index 4dd2015f0552b43edc2ad6aafbaf75518b2f9202..9a35f09308b59537aab8ba630b2a623c50af1157 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/constraints/constraint/strategies/fitness/MalusFunctionProducer.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/constraints/constraint/strategies/fitness/MalusFunctionProducer.java
@@ -28,7 +28,7 @@ import java.util.stream.Collectors;
 public class MalusFunctionProducer {
     @ApplicationScoped @Produces
     public MalusForFitnessStrategy create(
-            final @ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.handlers") Array handlers,
+            final @ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.handlers") Array handlers,
             final @Named("optimization-function-input") PropertiesSpecification source,
             final @Named("optimization-function-output") PropertiesSpecification target,
             final @Named("output-dependencies") PropertiesDependencies dependencies,
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/fitness/FitnessFactory.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/fitness/FitnessFactory.java
index 39712d10ec13fee8cfd1aa3428b8790f748ca2e2..aff9fa010f8126726171f96a46b1f9d8f58af9dc 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/fitness/FitnessFactory.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/fitness/FitnessFactory.java
@@ -27,12 +27,12 @@ public class FitnessFactory {
 	 * Creates a fitness function based on the heuristic configuration.<br/>
 	 * Blackboard slots used:
 	 * <ul>
-	 *   <li>{@link BlackboardEntry#EA_CONFIGURATION}.</li>
+	 *   <li>{@link BlackboardEntry#OPTIMISATION_CONFIGURATION}.</li>
 	 * </ul>
 	 */
 	@Produces @Dependent
-	public JeneticsFitnessFunction create(final @ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.fitness") Instance fitnessConfig,
-										  final @ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.comparator") Instance comparatorConfig) {
+	public JeneticsFitnessFunction create(final @ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.fitness") Instance fitnessConfig,
+										  final @ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.comparator") Instance comparatorConfig) {
 		final String fitnessName = fitnessConfig.getName().getName();
 		final String comparatorName = comparatorConfig.getName().getName();
 
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/initial/InitialPopulationFactory.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/initial/InitialPopulationFactory.java
index 2f69f8388c3c801e778f361f84cb8dbae8008660..c2301d5f6a85414aad661bde2a42310dbe1144ac 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/initial/InitialPopulationFactory.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/initial/InitialPopulationFactory.java
@@ -5,7 +5,7 @@ import de.evoal.core.api.cdi.BeanFactory;
 import de.evoal.core.api.cdi.ConfigurationValue;
 import de.evoal.core.api.ea.initial.InitialPopulation;
 import de.evoal.languages.model.instance.Instance;
-import javax.enterprise.context.ApplicationScoped;
+
 import javax.enterprise.context.Dependent;
 import javax.enterprise.inject.Produces;
 import javax.inject.Inject;
@@ -15,7 +15,7 @@ import javax.inject.Named;
 public class InitialPopulationFactory {
 
 	@Inject
-	@ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.initialization")
+	@ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.initialization")
 	private Instance initialization;
 
 	/**
@@ -23,7 +23,7 @@ public class InitialPopulationFactory {
 	 *
 	 * Blackboard slots used:
 	 * <ul>
-	 *   <li>{@link BlackboardEntry#EA_CONFIGURATION}.</li>
+	 *   <li>{@link BlackboardEntry#OPTIMISATION_CONFIGURATION}.</li>
 	 * </ul>
 	 */
 	@Produces @Dependent @Named("initial")
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/initial/RandomProducer.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/initial/RandomProducer.java
index 113efb499c008419e93907d6ecef7d4db7cf25c4..9999352bab4c05aaa4b23bcc6201e9bffbe19313 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/initial/RandomProducer.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/initial/RandomProducer.java
@@ -20,7 +20,7 @@ public class RandomProducer {
     @Produces
     @Dependent
     @Named("random")
-    public InitialPopulation create(@ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.initialization") Instance initialization) {
+    public InitialPopulation create(@ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.initialization") Instance initialization) {
         final InitialPopulation population = new RandomInitialPopulation();
         BeanFactory.injectFields(population);
         population.init(initialization);
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/producer/OptimizingFunctionProducer.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/producer/OptimizingFunctionProducer.java
index b64d75737b99b0983cd6d2f99f46ee20002ed20a..2828b828c05fa858014a2fdb38387d62fa707a96 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/producer/OptimizingFunctionProducer.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/producer/OptimizingFunctionProducer.java
@@ -27,7 +27,7 @@ public class OptimizingFunctionProducer {
     @Produces
     @ApplicationScoped
     @Named("optimization-function-configuration")
-    public Instance find(final @ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.fitness") Instance fitnessConfiguration) {
+    public Instance find(final @ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.fitness") Instance fitnessConfiguration) {
         return findInner(fitnessConfiguration);
     }
 
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/producer/SelectorFactory.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/producer/SelectorFactory.java
index fe923efece001d87ce90246f47dde9b863ec7a51..552e76942b2f25709700e5f5f1356b1635aecfcc 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/producer/SelectorFactory.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/ea/producer/SelectorFactory.java
@@ -5,7 +5,6 @@ import de.evoal.core.api.cdi.ConfigurationValue;
 import de.evoal.core.api.utils.LanguageHelper;
 import de.evoal.languages.model.instance.Instance;
 import io.jenetics.*;
-import io.jenetics.util.Seq;
 
 import javax.enterprise.context.ApplicationScoped;
 import javax.enterprise.inject.Produces;
@@ -17,15 +16,15 @@ public class SelectorFactory {
 	@Produces
 	@Named("survivor")
 	public Selector createSurvivorSelector(
-			@ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.selectors.survivor.name") final String name,
-			@ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.selectors.survivor") Instance config) {
+			@ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.selectors.survivor.name") final String name,
+			@ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.selectors.survivor") Instance config) {
 		return create(name, config);
 	}
 
 	@Produces @Named("offspring")
 	public Selector createOffspringSelector(
-			@ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.selectors.offspring.name") final String name,
-			@ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.selectors.offspring") Instance config) {
+			@ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.selectors.offspring.name") final String name,
+			@ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.selectors.offspring") Instance config) {
 		return create(name, config);
 	}
 
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/BlackboardValueProducer.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/BlackboardValueProducer.java
index 31426938dcdbf7eb04d281b8469853a7dd598608..9537e98a66980a67fa7020120053f546c2c76cc4 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/BlackboardValueProducer.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/BlackboardValueProducer.java
@@ -15,7 +15,7 @@ import java.util.Map;
 @ApplicationScoped
 public class BlackboardValueProducer {
     @Produces
-    @BlackboardValue(BlackboardEntry.EA_CONFIGURATION)
+    @BlackboardValue(BlackboardEntry.OPTIMISATION_CONFIGURATION)
     public Integer injectIntegerValue(final InjectionPoint ip, final Blackboard board) {
         final BlackboardValue value = ip.getAnnotated().getAnnotation(BlackboardValue.class);
         final Object result = board.get(value.value());
@@ -30,7 +30,7 @@ public class BlackboardValueProducer {
     }
 
     @Produces
-    @BlackboardValue(BlackboardEntry.EA_CONFIGURATION)
+    @BlackboardValue(BlackboardEntry.OPTIMISATION_CONFIGURATION)
     public String injectStringValue(final InjectionPoint ip, final Blackboard board) {
         final BlackboardValue value = ip.getAnnotated().getAnnotation(BlackboardValue.class);
         final Object result = board.get(value.value());
@@ -39,7 +39,7 @@ public class BlackboardValueProducer {
     }
 
     @Produces
-    @BlackboardValue(BlackboardEntry.EA_CONFIGURATION)
+    @BlackboardValue(BlackboardEntry.OPTIMISATION_CONFIGURATION)
     public File injectFileValue(final InjectionPoint ip, final Blackboard board) {
         final BlackboardValue value = ip.getAnnotated().getAnnotation(BlackboardValue.class);
         final Object result = board.get(value.value());
@@ -47,7 +47,7 @@ public class BlackboardValueProducer {
     }
 
     @Produces
-    @BlackboardValue(BlackboardEntry.EA_CONFIGURATION)
+    @BlackboardValue(BlackboardEntry.OPTIMISATION_CONFIGURATION)
     public Map<String, Object> injectMapValue(final InjectionPoint ip, final Blackboard board) {
         final BlackboardValue value = ip.getAnnotated().getAnnotation(BlackboardValue.class);
 
@@ -55,7 +55,7 @@ public class BlackboardValueProducer {
     }
 
     @Produces
-    @BlackboardValue(BlackboardEntry.EA_CONFIGURATION)
+    @BlackboardValue(BlackboardEntry.OPTIMISATION_CONFIGURATION)
     public PropertiesSpecification injectPropertiesSpecification(final InjectionPoint ip, final Blackboard board) {
         final BlackboardValue value = ip.getAnnotated().getAnnotation(BlackboardValue.class);
 
@@ -63,7 +63,7 @@ public class BlackboardValueProducer {
     }
 
     @Produces
-    @BlackboardValue(BlackboardEntry.EA_CONFIGURATION)
+    @BlackboardValue(BlackboardEntry.OPTIMISATION_CONFIGURATION)
     public Properties injectProperties(final InjectionPoint ip, final Blackboard board) {
         final BlackboardValue value = ip.getAnnotated().getAnnotation(BlackboardValue.class);
 
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/ConfigurationValueProducer.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/ConfigurationValueProducer.java
index 6898925d6cb25fb6773a3bd6d66bb249c6da77f2..a3a90dba42b285deaf7dfe49694618b9e404792a 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/ConfigurationValueProducer.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/ConfigurationValueProducer.java
@@ -19,7 +19,7 @@ import javax.enterprise.inject.spi.InjectionPoint;
 @Slf4j
 public class ConfigurationValueProducer {
     @Produces
-    @ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "")
+    @ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "")
     public Integer injectIntegerValue(final InjectionPoint ip, final Blackboard board) {
         final ConfigurationValue value = ip.getAnnotated().getAnnotation(ConfigurationValue.class);
 
@@ -27,7 +27,7 @@ public class ConfigurationValueProducer {
     }
 
     @Produces
-    @ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "")
+    @ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "")
     public Double injectDoubleValue(final InjectionPoint ip, final Blackboard board) {
         final ConfigurationValue value = ip.getAnnotated().getAnnotation(ConfigurationValue.class);
 
@@ -35,7 +35,7 @@ public class ConfigurationValueProducer {
     }
 
     @Produces
-    @ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "")
+    @ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "")
     public String injectStringValue(final InjectionPoint ip, final Blackboard board) {
         final ConfigurationValue value = ip.getAnnotated().getAnnotation(ConfigurationValue.class);
 
@@ -43,7 +43,7 @@ public class ConfigurationValueProducer {
     }
 
     @Produces
-    @ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "")
+    @ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "")
     public final Array injectArrayValue(final InjectionPoint ip, final Blackboard board) {
         final ConfigurationValue value = ip.getAnnotated().getAnnotation(ConfigurationValue.class);
 
@@ -51,7 +51,7 @@ public class ConfigurationValueProducer {
     }
 
     @Produces
-    @ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "")
+    @ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "")
     public final Instance injectInstanceValue(final InjectionPoint ip, final Blackboard board) {
         final ConfigurationValue value = ip.getAnnotated().getAnnotation(ConfigurationValue.class);
 
@@ -59,7 +59,7 @@ public class ConfigurationValueProducer {
     }
 
     @Produces
-    @ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "")
+    @ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "")
     public Boolean injectBooleanValue(final InjectionPoint ip, final Blackboard board) {
         final ConfigurationValue value = ip.getAnnotated().getAnnotation(ConfigurationValue.class);
 
@@ -67,7 +67,7 @@ public class ConfigurationValueProducer {
     }
     
     @Produces
-    @ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "")
+    @ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "")
     public double [] injectDoubleArrayValue(final InjectionPoint ip, final Blackboard board) {
         final ConfigurationValue value = ip.getAnnotated().getAnnotation(ConfigurationValue.class);
 
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/OptimisationModelLoader.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/OptimisationModelLoader.java
index bc57b1b64112860299852d4748774209c3977190..cf7612674e695629f9586c7f2247fe7d172b1d07 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/OptimisationModelLoader.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/OptimisationModelLoader.java
@@ -25,23 +25,23 @@ import java.io.File;
 
 @ApplicationScoped
 @Slf4j
-public class EvolutionaryAlgorithmModelLoader {
+public class OptimisationModelLoader {
     @Inject
     private Blackboard board;
     private OptimisationModel model;
 
     public void load(final @Observes BlackboardEntry entry) {
-        if(!entry.isSame(BlackboardEntry.EA_CONFIGURATION_FILE)) {
+        if(!entry.isSame(BlackboardEntry.OPTIMISATION_CONFIGURATION_FILE)) {
             return;
         }
 
-        final String configurationFileName = board.get(BlackboardEntry.EA_CONFIGURATION_FILE);
-        log.info("Loading evolutionary algorithm configuration from {}.",  configurationFileName);
+        final String configurationFileName = board.get(BlackboardEntry.OPTIMISATION_CONFIGURATION_FILE);
+        log.info("Loading optimisation configuration from {}.",  configurationFileName);
 
         final File configurationFile = new File(configurationFileName);
         if(!configurationFile.exists() || ! configurationFile.canRead()) {
-            log.error("Unable to read evolutionary algorithm configuration file '{}'", configurationFileName);
-            throw new IllegalArgumentException("Unable to read evolutionary algorithm configuration file: " + configurationFileName);
+            log.error("Unable to read optimisation configuration file '{}'", configurationFileName);
+            throw new IllegalArgumentException("Unable to read optimisation configuration file: " + configurationFileName);
         }
 
         initializeEMF();
@@ -55,10 +55,10 @@ public class EvolutionaryAlgorithmModelLoader {
         resourceSet.addLoadOption(XtextResource.OPTION_ENCODING, "UTF-8");
 
         try {
-            log.info("Continue by loading the EAL file.");
+            log.info("Continue by loading the OL file.");
             final URI modelURI = URI.createFileURI(configurationFile.getAbsolutePath());
 
-            log.info("Loading ea model from URI {}.", modelURI);
+            log.info("Loading ol model from URI {}.", modelURI);
 
             final Resource resource = resourceSet.getResource(modelURI, true);
             resource.load(resourceSet.getLoadOptions());
@@ -81,9 +81,9 @@ public class EvolutionaryAlgorithmModelLoader {
             }
 
             model = (OptimisationModel) resource.getContents().get(0);
-            board.bind(BlackboardEntry.EA_CONFIGURATION, model);
+            board.bind(BlackboardEntry.OPTIMISATION_CONFIGURATION, model);
         } catch (final Exception e) {
-            log.error("Unable to evolutionary algorithm configuration file '{}'.", configurationFile, e);
+            log.error("Unable to load optimisation configuration file '{}'.", configurationFile, e);
          }
     }
 
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/PropertiesBoundariesProducer.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/PropertiesBoundariesProducer.java
index e59ee187b73997b2eea266384381c301afef294e..10bb824a14c58a69a97b2152caee71dad7542568 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/PropertiesBoundariesProducer.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/PropertiesBoundariesProducer.java
@@ -1,6 +1,7 @@
 package de.evoal.core.main.producer;
 
 import de.evoal.core.api.ea.constraints.model.DataConstraints;
+import de.evoal.core.api.properties.PropertiesSpecification;
 import de.evoal.core.api.properties.PropertySpecification;
 import de.evoal.core.api.properties.info.PropertiesBoundaries;
 import de.evoal.core.api.properties.info.PropertiesRanges;
@@ -15,7 +16,17 @@ import java.util.Collection;
 @ApplicationScoped
 public class PropertiesBoundariesProducer {
     @Produces @ApplicationScoped
-    public PropertiesBoundaries create(final DataConstraints constraints) {
-        return BoundaryIdentifier.run(constraints);
+    public PropertiesBoundaries create(final DataConstraints constraints, final @Named("genotype-specification") PropertiesSpecification genotypeSpecification) {
+        final PropertiesBoundaries boundaries = BoundaryIdentifier.run(constraints);
+
+        genotypeSpecification
+                .getProperties()
+                .stream()
+                .filter(s -> !boundaries.contains(s))
+                .forEach(s -> {
+                    boundaries.add(s, new PropertiesBoundaries.Boundaries(-Double.MAX_VALUE/2, Double.MAX_VALUE/2));
+                });
+
+        return boundaries;
     }
 }
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/PropertiesRangesProducer.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/PropertiesRangesProducer.java
index 47b2b3a0090765fa6942a28c62fc7f303e72dee1..08163572fdb658e88f4379bf919acb56494e22a9 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/PropertiesRangesProducer.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/PropertiesRangesProducer.java
@@ -1,5 +1,6 @@
 package de.evoal.core.main.producer;
 
+import de.evoal.core.api.properties.PropertiesSpecification;
 import de.evoal.core.api.properties.PropertySpecification;
 import de.evoal.core.api.properties.info.PropertiesBoundaries;
 import de.evoal.core.api.properties.info.PropertiesRanges;
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/SpecificationProducer.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/SpecificationProducer.java
index 4f90683565ad797a7c61671d8462a8832a596ab2..b21bea72011b03eac9159c91ce5f7ecca3190c7a 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/SpecificationProducer.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/producer/SpecificationProducer.java
@@ -8,23 +8,20 @@ import de.evoal.languages.model.instance.Array;
 import de.evoal.languages.model.instance.Attribute;
 import de.evoal.languages.model.instance.DataReference;
 import de.evoal.languages.model.instance.Instance;
-import org.apache.commons.math3.util.Pair;
 
 import javax.enterprise.context.ApplicationScoped;
 import javax.enterprise.context.Dependent;
 import javax.enterprise.inject.Produces;
-import javax.inject.Inject;
 import javax.inject.Named;
 import java.util.List;
 import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 @ApplicationScoped
 public class SpecificationProducer {
     @Produces
     @Dependent
     @Named("genotype-description")
-    public List<DataDescription> createSourceSpecification(final @ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.genotype") Array genotype) {
+    public List<DataDescription> createSourceSpecification(final @ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.genotype") Array genotype) {
         final List<DataDescription> descriptors = genotype.getValues()
                 .stream()
                 .map(Instance.class::cast)
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/search/HeuristicSearch.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/search/HeuristicSearch.java
index e1a610f4a15e7f72efdc6a7340a79e4277e39877..42a66da6a97503c492c6f5e867e468223b034f68 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/search/HeuristicSearch.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/search/HeuristicSearch.java
@@ -12,14 +12,12 @@ import de.evoal.core.api.cdi.BlackboardValue;
 import de.evoal.core.api.cdi.ConfigurationValue;
 import de.evoal.core.api.ea.initial.InitialPopulation;
 import de.evoal.core.api.utils.LanguageHelper;
-import de.evoal.core.api.ea.codec.CustomCodec;
 import de.evoal.core.api.ea.fitness.comparator.FitnessValue;
 
 import de.evoal.core.api.statistics.StatisticsWriter;
 import de.evoal.core.main.ea.alterer.AltererFactory;
 import de.evoal.core.main.ea.codec.DynamicCodec;
 import de.evoal.core.main.ea.fitness.JeneticsFitnessFunction;
-import de.evoal.core.main.ea.initial.InitialPopulationFactory;
 import de.evoal.core.main.jenetics.ConstraintList;
 import de.evoal.languages.model.instance.Array;
 import de.evoal.languages.model.instance.Attribute;
@@ -29,7 +27,6 @@ import de.evoal.languages.model.ol.OptimisationModel;
 import io.jenetics.*;
 import io.jenetics.engine.*;
 import io.jenetics.stat.MinMax;
-import io.jenetics.util.Factory;
 import lombok.extern.slf4j.Slf4j;
 
 import javax.enterprise.context.Dependent;
@@ -59,19 +56,19 @@ public class HeuristicSearch {
 	private String run;
 
 	@Inject
-	@ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.number_of_generations")
+	@ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.number_of_generations")
 	private int numberOfGenerations;
 
 	@Inject
-	@ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.size_of_population")
+	@ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.size_of_population")
 	private int sizeOfPopulation;
 
 	@Inject
-	@ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.maximize")
+	@ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.maximize")
 	private Boolean maximize;
 
 	@Inject
-	@ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.maximum_age")
+	@ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.maximum_age")
 	private int maximumAge;
 
 	private final Map<String, List<Alterer<?, FitnessValue>>> alterers = new HashMap<>();
@@ -137,7 +134,7 @@ public class HeuristicSearch {
 	}
 
 	private void setup() {
-		final OptimisationModel configuration = board.get(BlackboardEntry.EA_CONFIGURATION);
+		final OptimisationModel configuration = board.get(BlackboardEntry.OPTIMISATION_CONFIGURATION);
 
 		final de.evoal.languages.model.instance.Instance alterers = LanguageHelper.lookup(configuration.getInstance(), "algorithm.alterers");
 
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/search/HeuristicSearchEvaluation.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/search/HeuristicSearchEvaluation.java
index 1aa0b95acdcf8067343fef5817d4a10f2c75cb1a..42a8fe1682bf9f202e871c00a3b14b071131d0c3 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/search/HeuristicSearchEvaluation.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/search/HeuristicSearchEvaluation.java
@@ -33,7 +33,7 @@ public class HeuristicSearchEvaluation implements MainClass {
     private WriterContext context;
 
     @Inject
-    @BlackboardValue(BlackboardEntry.EA_CONFIGURATION_FILE)
+    @BlackboardValue(BlackboardEntry.OPTIMISATION_CONFIGURATION_FILE)
     private String heuristicFile;
 
     @Inject
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/search/HeuristicSearchMain.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/search/HeuristicSearchMain.java
index cdedd0991bf7cfc9d049bc6b867d5784a54994e6..d75eae959297c35159596df30beb85446ec0de6d 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/search/HeuristicSearchMain.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/search/HeuristicSearchMain.java
@@ -10,7 +10,6 @@ import javax.enterprise.context.ApplicationScoped;
 import de.evoal.core.api.statistics.ColumnType;
 import de.evoal.core.api.statistics.WriterContext;
 import org.apache.commons.math3.util.Pair;
-import org.apache.deltaspike.core.api.provider.BeanProvider;
 
 import javax.inject.Inject;
 import javax.inject.Named;
@@ -29,7 +28,7 @@ public class HeuristicSearchMain implements MainClass {
 	@Override
 	public void run() {
 		final String outputFolder = board.get(BlackboardEntry.EVALUATION_OUTPUT_FOLDER);
-		final String heuristicFileName = board.get(BlackboardEntry.EA_CONFIGURATION_FILE);
+		final String heuristicFileName = board.get(BlackboardEntry.OPTIMISATION_CONFIGURATION_FILE);
 
 		final File outputBaseDir = HeuristicSearchUtils.calculateOutputBaseDir(new File(outputFolder), new File(heuristicFileName));
 
diff --git a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/statistics/StatisticsFactory.java b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/statistics/StatisticsFactory.java
index 98d228a6ca306b7bbff88ae912554b752ad6f9dc..7403629fc8a253d5bf90fb56230d6ab017c98d5d 100644
--- a/src/core/de.evoal.core/src/main/java/de/evoal/core/main/statistics/StatisticsFactory.java
+++ b/src/core/de.evoal.core/src/main/java/de/evoal/core/main/statistics/StatisticsFactory.java
@@ -21,7 +21,7 @@ public class StatisticsFactory {
     @Produces
     @Dependent
     @Named("statistics")
-    public StatisticsWriter create(final @ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "statistics") Instance instance) {
+    public StatisticsWriter create(final @ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "statistics") Instance instance) {
         Requirements.requireSize(instance.getAttributes(), 1);
         final Array array = (Array)instance.getAttributes().get(0).getValue();
 
diff --git a/src/core/de.evoal.surrogate.api/scripts/debug-search-with-surrogate.sh b/src/core/de.evoal.surrogate.api/scripts/debug-search-with-surrogate.sh
index 1abaa842792f0c369480de3b0e834645fe79bab5..bb3088ef357bc48fe68bc2dc321f7342bf7bc067 100755
--- a/src/core/de.evoal.surrogate.api/scripts/debug-search-with-surrogate.sh
+++ b/src/core/de.evoal.surrogate.api/scripts/debug-search-with-surrogate.sh
@@ -20,7 +20,7 @@ java -Dorg.jboss.logging.provider=slf4j\
      --add-exports io.jenetics.base/io.jenetics.internal.util=de.evoal.core \
      -m de.evoal.core/de.evoal.core.main.Evoal \
      -Bcore:main=heuristic-search \
-     "-Bcore:ea-configuration-file=$2" \
+     "-Bcore:optimisation-configuration-file=$2" \
      "-Bsurrogate:configuration-file=$3" \
      "-Bsurrogate:pre-trained=$4" \
      "-Bsurrogate:training-data=$5"\
diff --git a/src/core/de.evoal.surrogate.api/scripts/run-search-with-surrogate.sh b/src/core/de.evoal.surrogate.api/scripts/run-search-with-surrogate.sh
index c1f7e30bc9b46fa2a054001f47437e80628fcf7f..91204ba011eb3252da74b30499816951a170af6a 100755
--- a/src/core/de.evoal.surrogate.api/scripts/run-search-with-surrogate.sh
+++ b/src/core/de.evoal.surrogate.api/scripts/run-search-with-surrogate.sh
@@ -19,7 +19,7 @@ java -Dorg.jboss.logging.provider=slf4j\
      --add-exports io.jenetics.base/io.jenetics.internal.util=de.evoal.core \
      -m de.evoal.core/de.evoal.core.main.Evoal \
      -Bcore:main=heuristic-search \
-     "-Bcore:ea-configuration-file=$2" \
+     "-Bcore:optimisation-configuration-file=$2" \
      "-Bsurrogate:configuration-file=$3" \
      "-Bsurrogate:pre-trained=$4" \
      "-Bsurrogate:training-data=$5"\
diff --git a/src/core/de.evoal.surrogate.api/src/main/java/de/evoal/surrogate/main/cdi/SurrogateProducer.java b/src/core/de.evoal.surrogate.api/src/main/java/de/evoal/surrogate/main/cdi/SurrogateProducer.java
index 581850aa615977104823286fd284c0378cba3cc0..dacc2251d93e08f7ec0b3bfbc3b314bd1748322e 100644
--- a/src/core/de.evoal.surrogate.api/src/main/java/de/evoal/surrogate/main/cdi/SurrogateProducer.java
+++ b/src/core/de.evoal.surrogate.api/src/main/java/de/evoal/surrogate/main/cdi/SurrogateProducer.java
@@ -30,7 +30,6 @@ import javax.inject.Named;
 import java.io.File;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.function.BiFunction;
 import java.util.function.Function;
 import java.util.stream.Collectors;
 
@@ -57,7 +56,7 @@ public class SurrogateProducer {
         this.configuration = loader.apply(file);
         
         final EObject mlConfiguration = board.get(SurrogateBlackboardEntry.SURROGATE_CONFIGURATION);
-        final EObject eaConfiguration = board.get(BlackboardEntry.EA_CONFIGURATION);
+        final EObject eaConfiguration = board.get(BlackboardEntry.OPTIMISATION_CONFIGURATION);
 
         final Map<String, PropertySpecification> specifications = new HashMap<>();
         addDataFrom(specifications, mlConfiguration);
diff --git a/src/core/de.evoal.surrogate.api/src/main/java/de/evoal/surrogate/main/ea/TrainingInitialPopulation.java b/src/core/de.evoal.surrogate.api/src/main/java/de/evoal/surrogate/main/ea/TrainingInitialPopulation.java
index 019504e4df4b7c1f89d9d9b91383cfbeae588b36..5096455a3a239f6531aedf7cee9b4dcadd583086 100644
--- a/src/core/de.evoal.surrogate.api/src/main/java/de/evoal/surrogate/main/ea/TrainingInitialPopulation.java
+++ b/src/core/de.evoal.surrogate.api/src/main/java/de/evoal/surrogate/main/ea/TrainingInitialPopulation.java
@@ -11,7 +11,6 @@ import de.evoal.core.api.properties.stream.FileBasedPropertiesStreamSupplier;
 import de.evoal.core.api.properties.stream.PropertiesStreamSupplier;
 import de.evoal.languages.model.instance.Instance;
 import de.evoal.surrogate.api.SurrogateBlackboardEntry;
-import de.evoal.surrogate.api.training.TrainingDataManager;
 import io.jenetics.Gene;
 import io.jenetics.Genotype;
 import io.jenetics.engine.Engine;
@@ -23,14 +22,13 @@ import lombok.extern.slf4j.Slf4j;
 import javax.annotation.PostConstruct;
 import javax.inject.Inject;
 import javax.inject.Named;
-import javax.inject.Provider;
 import java.io.File;
 
 @Slf4j
 public class TrainingInitialPopulation<G extends Gene<?, G>, C extends Comparable<C>> implements InitialPopulation<G, C> {
 
     @Inject
-    @ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.size_of_population")
+    @ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.size_of_population")
     private int sizeOfPopulation;
 
     @Inject
diff --git a/src/core/de.evoal.surrogate.api/src/main/java/de/evoal/surrogate/main/ea/TrainingProducer.java b/src/core/de.evoal.surrogate.api/src/main/java/de/evoal/surrogate/main/ea/TrainingProducer.java
index 9bdd7789cced603209452d52dde94418eb0d977e..95d8103be4a4a36185a26660baac606ed8440450 100644
--- a/src/core/de.evoal.surrogate.api/src/main/java/de/evoal/surrogate/main/ea/TrainingProducer.java
+++ b/src/core/de.evoal.surrogate.api/src/main/java/de/evoal/surrogate/main/ea/TrainingProducer.java
@@ -21,7 +21,7 @@ public class TrainingProducer {
     @Produces
     @Dependent
     @Named("training")
-    public InitialPopulation create(@ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.initialization") Instance initialization) {
+    public InitialPopulation create(@ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.initialization") Instance initialization) {
         final TrainingInitialPopulation population = new TrainingInitialPopulation();
         BeanFactory.injectFields(population);
         population.init();
diff --git a/src/core/de.evoal.surrogate.api/src/main/java/de/evoal/surrogate/main/statistics/correlated/GenerationStatisticsWriter.java b/src/core/de.evoal.surrogate.api/src/main/java/de/evoal/surrogate/main/statistics/correlated/GenerationStatisticsWriter.java
index 986cc531690e081729e078277a37d2f444e360f4..e3a13aeada49f90ad01b79c2b6bcaf98a1cf8409 100644
--- a/src/core/de.evoal.surrogate.api/src/main/java/de/evoal/surrogate/main/statistics/correlated/GenerationStatisticsWriter.java
+++ b/src/core/de.evoal.surrogate.api/src/main/java/de/evoal/surrogate/main/statistics/correlated/GenerationStatisticsWriter.java
@@ -60,7 +60,7 @@ public class GenerationStatisticsWriter implements StatisticsWriter {
     @Inject
     private Provider<Function<Properties, Properties>> fitnessFactory;
 
-    @Inject @ConfigurationValue(entry = BlackboardEntry.EA_CONFIGURATION, access = "algorithm.fitness")
+    @Inject @ConfigurationValue(entry = BlackboardEntry.OPTIMISATION_CONFIGURATION, access = "algorithm.fitness")
     private Instance config;
 
     @Inject