Index: /ModelExtender/.classpath
===================================================================
--- /ModelExtender/.classpath	(revision 192)
+++ /ModelExtender/.classpath	(revision 193)
@@ -5,4 +5,5 @@
 	<classpathentry combineaccessrules="false" kind="src" path="/Model"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/Utils"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/ModelTranslator"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
Index: /ModelExtender/src/de/uni_hildesheim/sse/model_extender/Main.java
===================================================================
--- /ModelExtender/src/de/uni_hildesheim/sse/model_extender/Main.java	(revision 192)
+++ /ModelExtender/src/de/uni_hildesheim/sse/model_extender/Main.java	(revision 193)
@@ -3,8 +3,11 @@
 import java.io.File;
 import java.io.FileNotFoundException;
+import java.io.FileWriter;
 import java.io.IOException;
 
+import de.uni_hildesheim.sse.model.varModel.Project;
 import de.uni_hildesheim.sse.model_extender.in.DimacsReader;
 import de.uni_hildesheim.sse.model_extender.in.MalformedFileException;
+import de.uni_hildesheim.sse.trans.out.DimacsWriter;
 
 /**
@@ -25,23 +28,23 @@
      */
     public static void main(String[] args) {
-        if (args.length < 2) {
+        if (args.length < 3) {
             System.err.println("Not enough command line arguments");
-            System.err.println("Usage: path/to/model.dimacs \"a && b<7\"");
+            System.err.println("Usage: path/to/in/model.dimacs \"a && b<7\" path/to/out/model.dimacs");
             System.exit(1);
         }
         
-        File modelFile = new File(args[0]);
+        File readModelFile = new File(args[0]);
         DimacsReader reader = null;
         try {
-            reader = new DimacsReader(modelFile);
+            reader = new DimacsReader(readModelFile);
         } catch (FileNotFoundException e) {
-            System.err.println("File " + modelFile.getPath() + " can't be opened for reading: "
+            System.err.println("File " + readModelFile.getPath() + " can't be opened for reading: "
                     + e.getMessage());
             System.exit(1);
         }
         
-        //Project model = null;
+        Project model = null;
         try {
-            /*model =*/ reader.getModel();
+            model = reader.getModel();
         } catch (IOException | MalformedFileException e) {
             e.printStackTrace(System.err);
@@ -55,4 +58,14 @@
             System.exit(1);
         }
+        
+        // TODO: add constraint to model
+        
+        File writeModelFile = new File(args[2]);
+        try {
+            DimacsWriter writer = new DimacsWriter(model, new FileWriter(writeModelFile));
+            writer.write();
+        } catch (IOException e) {
+            e.printStackTrace(System.err);
+        }
     }
 
Index: /ModelExtender/src/de/uni_hildesheim/sse/model_extender/in/DimacsReader.java
===================================================================
--- /ModelExtender/src/de/uni_hildesheim/sse/model_extender/in/DimacsReader.java	(revision 192)
+++ /ModelExtender/src/de/uni_hildesheim/sse/model_extender/in/DimacsReader.java	(revision 193)
@@ -174,4 +174,9 @@
                     + ") is not equal to number of specified constraints in meta line ("
                     + numDeclaredConstraints + ")");
+        }
+        
+        // Add variables to project
+        for (DecisionVariableDeclaration var : variables.values()) {
+            model.add(var);
         }
     }
@@ -242,4 +247,5 @@
      */
     private void parseConstraintLine(String line) throws MalformedFileException {
+        // Check if it's a valid constraint line
         Matcher matcher = CONSTRAINT_PATTERN.matcher(line);
         if (!matcher.matches()) {
@@ -249,4 +255,5 @@
         String[] parts = line.split(" ");
         
+        // Construct CST
         ConstraintSyntaxTree tree = getVariable(parts[0]);
         
@@ -255,4 +262,5 @@
         }
         
+        // Add Constraint to project
         Constraint constraint = new Constraint(model);
         try {
@@ -274,4 +282,5 @@
      */
     private ConstraintSyntaxTree getVariable(String var) throws MalformedFileException {
+        // Check if variable is negated
         boolean negate = var.startsWith("-");
         if (negate) {
@@ -280,4 +289,5 @@
         }
         
+        // Get variable number
         int variableNumber = 0;
         try {
@@ -286,4 +296,6 @@
             throw new MalformedFileException("Invalid variable number: " + var);
         }
+        
+        // Construct CST
         ConstraintSyntaxTree variable = varPool.obtainVariable(variables.get(variableNumber));
         
