diff --git a/src/core/de.evoal.core.arff/scripts/run-convert-arff.sh b/src/core/de.evoal.core.arff/scripts/run-convert-arff.sh
new file mode 100755
index 0000000000000000000000000000000000000000..e46d4aa7b02ce66e9a61ce567ff45b16bf571d7b
--- /dev/null
+++ b/src/core/de.evoal.core.arff/scripts/run-convert-arff.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+source $( cd -- "$(dirname $0)/" >/dev/null 2>&1 ; pwd -P)/paths.env
+
+if [ "$#" -ne 4 ]; then
+    echo "Usage: $0 <execution-folder> <input.arff> <specification.ddl> <output.json>"
+    exit 1
+fi
+
+cd $1
+
+set -x
+java -Dorg.jboss.logging.provider=slf4j\
+     --module-path "${EVOALPATH}/modules/:$PLUGIN_PATHS" \
+     --add-modules ALL-MODULE-PATH \
+     --add-opens java.base/java.lang=guice \
+     -m de.evoal.core/de.evoal.core.main.Evoal \
+     -Bcore:main=convert-arff-to-json \
+     -Barff:input=$2 \
+     -Barff:ddl-specification=$3 \
+     -Barff:output=$4
diff --git a/src/core/de.evoal.core.arff/src/main/java/de/evoal/core/arff/io/ArffPropertiesReader.java b/src/core/de.evoal.core.arff/src/main/java/de/evoal/core/arff/io/ArffPropertiesReader.java
index 9c8ec368d5b605513e47c963418fcec917481321..17e147aecc1f1c68b5aef259cda9acf019f67522 100644
--- a/src/core/de.evoal.core.arff/src/main/java/de/evoal/core/arff/io/ArffPropertiesReader.java
+++ b/src/core/de.evoal.core.arff/src/main/java/de/evoal/core/arff/io/ArffPropertiesReader.java
@@ -15,6 +15,7 @@ import weka.core.converters.ConverterUtils;
 import javax.enterprise.context.Dependent;
 import javax.inject.Named;
 import java.io.File;
+import java.util.Arrays;
 
 @Slf4j
 @Dependent
@@ -77,6 +78,10 @@ public class ArffPropertiesReader implements PropertiesReader {
 
             if(RepresentationType.REAL.equals(rType)) {
                 toProperties = (instance, template, builder) -> {
+                    if(instance.isMissing(index)) {
+                        return decoratee.apply(instance, template, builder);
+                    }
+
                     // add current specification to builder and let the chain complete it
                     builder.add(pSpec);
                     final Properties properties = decoratee.apply(instance, template, builder);
@@ -87,6 +92,10 @@ public class ArffPropertiesReader implements PropertiesReader {
                 };
             } else if(RepresentationType.INTEGER.equals(rType)) {
                 toProperties = (instance, template, builder) -> {
+                    if(instance.isMissing(index)) {
+                        return decoratee.apply(instance, template, builder);
+                    }
+                    
                     // add current specification to builder and let the chain complete it
                     builder.add(pSpec);
                     final Properties properties = decoratee.apply(instance, template, builder);
diff --git a/src/core/de.evoal.core.arff/src/main/java/de/evoal/core/arff/main/ConvertArff.java b/src/core/de.evoal.core.arff/src/main/java/de/evoal/core/arff/main/ConvertArff.java
index 5bd4243c8c66092fdbad57108ff0f5e07e50477a..2fbded416dcd40971ed98c048b94ec06bdc1ec2d 100644
--- a/src/core/de.evoal.core.arff/src/main/java/de/evoal/core/arff/main/ConvertArff.java
+++ b/src/core/de.evoal.core.arff/src/main/java/de/evoal/core/arff/main/ConvertArff.java
@@ -10,6 +10,7 @@ import de.evoal.core.api.properties.io.PropertiesWriter;
 import de.evoal.core.arff.cdi.ArffBlackboardEntry;
 import de.evoal.languages.model.ddl.DataDescriptionModel;
 import de.evoal.languages.model.ddl.dsl.DataDescriptionLanguageStandaloneSetup;
+import de.evoal.languages.model.ddl.impl.DdlPackageImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecore.resource.Resource;
@@ -73,6 +74,8 @@ public class ConvertArff implements MainClass {
         }
 
         // init EMF + Xtext
+        DdlPackageImpl.init();
+        DataDescriptionLanguageStandaloneSetup.doSetup();
         final Injector dlInjector = new DataDescriptionLanguageStandaloneSetup().createInjectorAndDoEMFRegistration();
 
         final XtextResourceSet resourceSet = dlInjector.getInstance(XtextResourceSet.class);
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 15a41c26fec277710257ae697ba39a83ed5170ec..27ab8b942306977aae336530a7e8b73c88666b28 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
@@ -2,6 +2,7 @@ package de.evoal.core.api.properties;
 
 import de.evoal.languages.model.ddl.DataDescription;
 import org.apache.commons.math3.util.Pair;
+import org.slf4j.LoggerFactory;
 
 import java.util.*;
 import java.util.stream.Collectors;
@@ -40,8 +41,9 @@ public class PropertiesSpecification {
 		}
 
 		public Builder add(final PropertySpecification specification) {
-			if (!properties.contains(specification)) {
+			if(!properties.contains(specification)) {
 				properties.add(specification);
+				orderedProperties.add(specification);
 			}
 
 			return this;