Index: /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.App/Runner.cs
===================================================================
--- /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.App/Runner.cs	(revision 17539)
+++ /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.App/Runner.cs	(revision 17540)
@@ -51,8 +51,4 @@
           if (configuredResults.Contains(res.Key)) {
             if (res.Value is ISymbolicRegressionSolution solution) {
-              /* TEST */
-              var csFormatter = new CSharpSymbolicExpressionTreeStringFormatter();
-              File.WriteAllText(@"C:\Workspace\output\csFormatted.cs", csFormatter.Format(solution.Model.SymbolicExpressionTree));
-              /* END TEST */
               var formatter = new SymbolicDataAnalysisExpressionMATLABFormatter();
               var x = formatter.Format(solution.Model.SymbolicExpressionTree);
Index: /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/BatchRunConverter.cs
===================================================================
--- /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/BatchRunConverter.cs	(revision 17540)
+++ /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/BatchRunConverter.cs	(revision 17540)
@@ -0,0 +1,50 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using HeuristicLab.Core;
+
+namespace HeuristicLab.JsonInterface {
+  public class BatchRunConverter : BaseConverter {
+    public override int Priority => 10;
+    public override Type ConvertableType => HEAL.Attic.Mapper.StaticCache.GetType(new Guid("E85407E0-18EC-4198-8321-9CF030FDF6D7"));
+
+    public override IJsonItem Extract(IItem value, IJsonItemConverter root) {
+      dynamic batchRun = (dynamic)value;
+      EmptyJsonItem batchRunJI = new EmptyJsonItem() {
+        Name = batchRun.Name,
+        Description = value.ItemDescription
+      };
+
+      var optimizerJI = root.Extract((IItem)batchRun.Optimizer, root);
+      if(!(optimizerJI is UnsupportedJsonItem)) {
+        batchRunJI.AddChildren(optimizerJI);
+      }
+
+      int reps = (int)batchRun.Repetitions;
+      batchRunJI.AddChildren(new IntJsonItem() { 
+        Name = "Repetitions", 
+        Description = "The repetitions for this batch run.", 
+        Value = reps, 
+        Minimum = 0, 
+        Maximum = int.MaxValue 
+      });
+      
+      return batchRunJI;
+    }
+
+    public override void Inject(IItem item, IJsonItem data, IJsonItemConverter root) {
+      dynamic batchRun = (dynamic)item;
+      if(data.Children != null) {
+        foreach(var i in data.Children) {
+          if(i.Path.EndsWith("Repetitions") && i is IntJsonItem reps ) {
+            batchRun.Repetitions = reps.Value;
+          } else {
+            root.Inject((IItem)batchRun.Optimizer, i, root);
+          }
+        }
+      }
+    }
+  }
+}
Index: /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ExperimentConverter.cs
===================================================================
--- /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ExperimentConverter.cs	(revision 17540)
+++ /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/ExperimentConverter.cs	(revision 17540)
@@ -0,0 +1,56 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using HeuristicLab.Core;
+using HeuristicLab.Optimization;
+
+namespace HeuristicLab.JsonInterface {
+  public class ExperimentConverter : BaseConverter {
+    public override int Priority => 10;
+    public override Type ConvertableType => HEAL.Attic.Mapper.StaticCache.GetType(new Guid("A8A4536B-54C1-4A17-AB58-A6006F7F394B"));
+
+    public override IJsonItem Extract(IItem value, IJsonItemConverter root) {
+      dynamic experiment = (dynamic)value;
+      EmptyJsonItem experimentJI = new EmptyJsonItem() {
+        Name = experiment.Name,
+        Description = value.ItemDescription
+      };
+
+      OptimizerList optimizers = experiment.Optimizers;
+      foreach(var o in optimizers) {
+        var optimizerJI = root.Extract(o, root);
+        if (!(optimizerJI is UnsupportedJsonItem)) {
+          experimentJI.AddChildren(optimizerJI);
+        }
+      }
+
+      int worker = (int)experiment.NumberOfWorkers;
+      experimentJI.AddChildren(new IntJsonItem() {
+        Name = "NumberOfWorkers",
+        Description = "The number of workers for this experiment.",
+        Value = worker,
+        Minimum = 1,
+        Maximum = int.MaxValue
+      });
+
+      return experimentJI;
+    }
+
+    public override void Inject(IItem item, IJsonItem data, IJsonItemConverter root) {
+      dynamic experiment = (dynamic)item;
+      OptimizerList optimizers = experiment.Optimizers;
+      if (data.Children != null) {
+        foreach (var i in data.Children) {
+          if (i.Path.EndsWith("NumberOfWorkers") && i is IntJsonItem worker) {
+            experiment.NumberOfWorkers = worker.Value;
+          } else {
+            var optimizer = optimizers.Find(o => i.Path.EndsWith(o.Name));
+            root.Inject(optimizer, i, root);
+          }
+        }
+      }
+    }
+  }
+}
Index: /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/RegressionProblemDataConverter.cs
===================================================================
--- /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/RegressionProblemDataConverter.cs	(revision 17539)
+++ /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/RegressionProblemDataConverter.cs	(revision 17540)
@@ -254,19 +254,23 @@
       };
     }
-      
-
-    private IJsonItem GetTargetVariable(IItem item) =>
-      new StringJsonItem() {
+
+
+    private IJsonItem GetTargetVariable(IItem item) {
+      var vars = (IEnumerable<StringValue>)((dynamic)item).InputVariables;
+      return new StringJsonItem() {
         Name = TargetVariable,
         Value = (string)((dynamic)item).TargetVariable,
-        //ConcreteRestrictedItems = variables.Select(x => x.Value)
-      };
-
-    private IJsonItem GetAllowedInputVariables(IItem item) =>
-      new StringArrayJsonItem() {
+        ConcreteRestrictedItems = vars.Select(x => x.Value)
+      };
+    }
+
+    private IJsonItem GetAllowedInputVariables(IItem item) {
+      var vars = (IEnumerable<StringValue>)((dynamic)item).InputVariables;
+      return new StringArrayJsonItem() {
         Name = AllowedInputVariables,
         Value = ((IEnumerable<string>)((dynamic)item).AllowedInputVariables).ToArray(),
-        //ConcreteRestrictedItems = variables.Select(x => x.Value)
-      };
+        ConcreteRestrictedItems = vars.Select(x => x.Value)
+      };
+    }
     #endregion
   }
Index: /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/HeuristicLab.JsonInterface.csproj
===================================================================
--- /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/HeuristicLab.JsonInterface.csproj	(revision 17539)
+++ /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/HeuristicLab.JsonInterface.csproj	(revision 17540)
@@ -63,4 +63,6 @@
     <Compile Include="Constants.cs" />
     <Compile Include="Converters\AlgorithmConverter.cs" />
+    <Compile Include="Converters\BatchRunConverter.cs" />
+    <Compile Include="Converters\ExperimentConverter.cs" />
     <Compile Include="Converters\RegressionProblemDataConverter.cs" />
     <Compile Include="Converters\ResultParameterConverter.cs" />
Index: /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JCGenerator.cs
===================================================================
--- /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JCGenerator.cs	(revision 17539)
+++ /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JCGenerator.cs	(revision 17540)
@@ -31,5 +31,5 @@
       #region Serialize HL File
       ProtoBufSerializer serializer = new ProtoBufSerializer();
-      string hlFilePath = fullPath + templateName + ".hl";
+      string hlFilePath = Path.Combine(fullPath, templateName + ".hl");
       serializer.Serialize(optimizer, hlFilePath);
       #endregion
Index: /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JsonItemConverter.cs
===================================================================
--- /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JsonItemConverter.cs	(revision 17539)
+++ /branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JsonItemConverter.cs	(revision 17540)
@@ -62,5 +62,5 @@
         IJsonItemConverter converter = GetConverter(item.GetType());
         if (converter == null) return new UnsupportedJsonItem();
-        IJsonItem tmp = GetConverter(item.GetType()).Extract(item, root);
+        IJsonItem tmp = converter.Extract(item, root);
         ExtractCache.Add(hash, tmp);
         return tmp;
