Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/HeuristicLab.JsonInterface.csproj
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/HeuristicLab.JsonInterface.csproj	(revision 17322)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/HeuristicLab.JsonInterface.csproj	(revision 17324)
@@ -11,5 +11,5 @@
     <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
-    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
+    <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
     <Deterministic>true</Deterministic>
     <TargetFrameworkProfile />
@@ -81,4 +81,5 @@
     <Compile Include="Converters\ValueTypeMatrixConverter.cs" />
     <Compile Include="Converters\ValueTypeValueConverter.cs" />
+    <Compile Include="Plugin.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="JsonItem.cs" />
@@ -89,104 +90,17 @@
     <None Include="HeuristicLab.snk" />
     <None Include="packages.config" />
+    <None Include="Plugin.cs.frame" />
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.ALPS\3.3\HeuristicLab.Algorithms.ALPS-3.3.csproj">
-      <Project>{59f354cb-fe13-4253-aed2-ad86372bec27}</Project>
-      <Name>HeuristicLab.Algorithms.ALPS-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.Benchmarks\3.3\HeuristicLab.Algorithms.Benchmarks-3.3.csproj">
-      <Project>{068c70a7-8caf-4ab6-8721-4564d62292bc}</Project>
-      <Name>HeuristicLab.Algorithms.Benchmarks-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.CMAEvolutionStrategy\3.4\HeuristicLab.Algorithms.CMAEvolutionStrategy-3.4.csproj">
-      <Project>{291010e4-2f4e-4d29-a795-753cff293fdb}</Project>
-      <Name>HeuristicLab.Algorithms.CMAEvolutionStrategy-3.4</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.DataAnalysis.DecisionTrees\3.4\HeuristicLab.Algorithms.DataAnalysis.DecisionTrees-3.4.csproj">
-      <Project>{541a53f3-e6a7-402f-91bb-d76041cdd9fd}</Project>
-      <Name>HeuristicLab.Algorithms.DataAnalysis.DecisionTrees-3.4</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.DataAnalysis.Glmnet\3.4\HeuristicLab.Algorithms.DataAnalysis.Glmnet-3.4.csproj">
-      <Project>{4c7f6d8a-b279-4898-acd6-7be39111def9}</Project>
-      <Name>HeuristicLab.Algorithms.DataAnalysis.Glmnet-3.4</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.EvolutionStrategy\3.3\HeuristicLab.Algorithms.EvolutionStrategy-3.3.csproj">
-      <Project>{e0b45023-cb84-48a1-a1b7-8295b64b7bad}</Project>
-      <Name>HeuristicLab.Algorithms.EvolutionStrategy-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.GeneticAlgorithm\3.3\HeuristicLab.Algorithms.GeneticAlgorithm-3.3.csproj">
-      <Project>{a51da44f-cb35-4f6f-99f5-2a2e904ab93b}</Project>
-      <Name>HeuristicLab.Algorithms.GeneticAlgorithm-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.GradientDescent\3.3\HeuristicLab.Algorithms.GradientDescent-3.3.csproj">
-      <Project>{1256b945-eea9-4be4-9880-76b5b113f089}</Project>
-      <Name>HeuristicLab.Algorithms.GradientDescent-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.LocalSearch\3.3\HeuristicLab.Algorithms.LocalSearch-3.3.csproj">
-      <Project>{4ae3fc69-c575-42d2-bc46-0fad5850efc5}</Project>
-      <Name>HeuristicLab.Algorithms.LocalSearch-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.MOCMAEvolutionStrategy\3.3\HeuristicLab.Algorithms.MOCMAEvolutionStrategy-3.3.csproj">
-      <Project>{0e2e224f-e9b2-41f3-b510-09183eeba2af}</Project>
-      <Name>HeuristicLab.Algorithms.MOCMAEvolutionStrategy-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.NSGA2\3.3\HeuristicLab.Algorithms.NSGA2-3.3.csproj">
-      <Project>{15452b9f-a436-4139-8ee7-da72fb8d3664}</Project>
-      <Name>HeuristicLab.Algorithms.NSGA2-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.OffspringSelectionEvolutionStrategy\3.3\HeuristicLab.Algorithms.OffspringSelectionEvolutionStrategy-3.3.csproj">
-      <Project>{1d41eae6-cc79-41d4-858c-589c4db5e50d}</Project>
-      <Name>HeuristicLab.Algorithms.OffspringSelectionEvolutionStrategy-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm\3.3\HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm-3.3.csproj">
-      <Project>{f409dd9e-1e9c-4eb1-aa3a-9f6e987c6e58}</Project>
-      <Name>HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.ParameterlessPopulationPyramid\3.3\HeuristicLab.Algorithms.ParameterlessPopulationPyramid-3.3.csproj">
-      <Project>{9319c447-8183-4dbc-8145-0e3cf98084cc}</Project>
-      <Name>HeuristicLab.Algorithms.ParameterlessPopulationPyramid-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.ParticleSwarmOptimization\3.3\HeuristicLab.Algorithms.ParticleSwarmOptimization-3.3.csproj">
-      <Project>{2c429157-9c34-4dd3-9d5f-b444b751e39a}</Project>
-      <Name>HeuristicLab.Algorithms.ParticleSwarmOptimization-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.RandomSearch\3.3\HeuristicLab.Algorithms.RandomSearch-3.3.csproj">
-      <Project>{4a15dc1a-51ee-4cb7-ac05-f5afddece1b1}</Project>
-      <Name>HeuristicLab.Algorithms.RandomSearch-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.RAPGA\3.3\HeuristicLab.Algorithms.RAPGA-3.3.csproj">
-      <Project>{b03c4e41-1d01-4c60-b0f4-dbb257d98ca8}</Project>
-      <Name>HeuristicLab.Algorithms.RAPGA-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.ScatterSearch\3.3\HeuristicLab.Algorithms.ScatterSearch-3.3.csproj">
-      <Project>{5fee5db4-7fd9-4cbd-bec2-3fee17b31a94}</Project>
-      <Name>HeuristicLab.Algorithms.ScatterSearch-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.SimulatedAnnealing\3.3\HeuristicLab.Algorithms.SimulatedAnnealing-3.3.csproj">
-      <Project>{96e5ed5b-187d-4012-9cda-d85cdad38342}</Project>
-      <Name>HeuristicLab.Algorithms.SimulatedAnnealing-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.TabuSearch\3.3\HeuristicLab.Algorithms.TabuSearch-3.3.csproj">
-      <Project>{d58a232d-04ba-4186-b73e-0ec86fd31abe}</Project>
-      <Name>HeuristicLab.Algorithms.TabuSearch-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Algorithms.VariableNeighborhoodSearch\3.3\HeuristicLab.Algorithms.VariableNeighborhoodSearch-3.3.csproj">
-      <Project>{e4cfb0c3-0589-4893-b38e-8bedf885c765}</Project>
-      <Name>HeuristicLab.Algorithms.VariableNeighborhoodSearch-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Analysis\3.3\HeuristicLab.Analysis-3.3.csproj">
-      <Project>{887425B4-4348-49ED-A457-B7D2C26DDBF9}</Project>
-      <Name>HeuristicLab.Analysis-3.3</Name>
-    </ProjectReference>
     <ProjectReference Include="..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
-      <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>
+      <Project>{958b43bc-cc5c-4fa2-8628-2b3b01d890b6}</Project>
       <Name>HeuristicLab.Collections-3.3</Name>
     </ProjectReference>
     <ProjectReference Include="..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
-      <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project>
+      <Project>{a9ad58b9-3ef9-4cc1-97e5-8d909039ff5c}</Project>
       <Name>HeuristicLab.Common-3.3</Name>
     </ProjectReference>
     <ProjectReference Include="..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
-      <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>
+      <Project>{c36bd924-a541-4a00-afa8-41701378ddc5}</Project>
       <Name>HeuristicLab.Core-3.3</Name>
     </ProjectReference>
@@ -195,14 +109,6 @@
       <Name>HeuristicLab.Data-3.3</Name>
     </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Encodings.PermutationEncoding\3.3\HeuristicLab.Encodings.PermutationEncoding-3.3.csproj">
-      <Project>{DBECB8B0-B166-4133-BAF1-ED67C3FD7FCA}</Project>
-      <Name>HeuristicLab.Encodings.PermutationEncoding-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj">
-      <Project>{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}</Project>
-      <Name>HeuristicLab.Operators-3.3</Name>
-    </ProjectReference>
     <ProjectReference Include="..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">
-      <Project>{14AB8D24-25BC-400C-A846-4627AA945192}</Project>
+      <Project>{14ab8d24-25bc-400c-a846-4627aa945192}</Project>
       <Name>HeuristicLab.Optimization-3.3</Name>
     </ProjectReference>
@@ -215,22 +121,6 @@
       <Name>HeuristicLab.PluginInfrastructure-3.3</Name>
     </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Problems.Instances\3.3\HeuristicLab.Problems.Instances-3.3.csproj">
-      <Project>{3540E29E-4793-49E7-8EE2-FEA7F61C3994}</Project>
-      <Name>HeuristicLab.Problems.Instances-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Problems.Knapsack\3.3\HeuristicLab.Problems.Knapsack-3.3.csproj">
-      <Project>{E10F395F-C8A6-48AD-B470-9AA7A1F43809}</Project>
-      <Name>HeuristicLab.Problems.Knapsack-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Problems.TravelingSalesman\3.3\HeuristicLab.Problems.TravelingSalesman-3.3.csproj">
-      <Project>{d767c38d-8014-46b0-9a32-03a3aecce34a}</Project>
-      <Name>HeuristicLab.Problems.TravelingSalesman-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\HeuristicLab.Problems.VehicleRouting\3.4\HeuristicLab.Problems.VehicleRouting-3.4.csproj">
-      <Project>{B94FFB82-43D4-40AB-9980-B03470ADF221}</Project>
-      <Name>HeuristicLab.Problems.VehicleRouting-3.4</Name>
-    </ProjectReference>
     <ProjectReference Include="..\HeuristicLab.SequentialEngine\3.3\HeuristicLab.SequentialEngine-3.3.csproj">
-      <Project>{dc3d7072-7999-4719-b65d-3997744d5dc1}</Project>
+      <Project>{DC3D7072-7999-4719-B65D-3997744D5DC1}</Project>
       <Name>HeuristicLab.SequentialEngine-3.3</Name>
     </ProjectReference>
@@ -238,3 +128,13 @@
   <ItemGroup />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <PropertyGroup>
+    <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
+set ProjectDir=$(ProjectDir)
+set SolutionDir=$(SolutionDir)
+set Outdir=$(Outdir)
+
+call PreBuildEvent.cmd
+
+</PreBuildEvent>
+  </PropertyGroup>
 </Project>
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JCGenerator.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JCGenerator.cs	(revision 17322)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JCGenerator.cs	(revision 17324)
@@ -2,13 +2,9 @@
 using System.Collections.Generic;
 using System.Linq;
-using HeuristicLab.Algorithms.GeneticAlgorithm;
 using HeuristicLab.Core;
 using HeuristicLab.Data;
-using HeuristicLab.Encodings.PermutationEncoding;
 using HeuristicLab.Optimization;
-using HeuristicLab.Problems.TravelingSalesman;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
-using Newtonsoft.Json.Serialization;
 
 namespace HeuristicLab.JsonInterface {
@@ -16,12 +12,11 @@
 
     private JObject template = JObject.Parse(Constants.Template);
+    private Dictionary<string, string> TypeList = new Dictionary<string, string>();
+    private JArray JsonItems { get; set; } = new JArray();
 
-    private Dictionary<string, string> TypeList = new Dictionary<string, string>();
-
-    JArray jsonItems = new JArray();
     private void PopulateJsonItems(JsonItem item) {
       if (item.Parameters != null) {
         if(item.Range == null)
-          jsonItems.Add(Serialize(item));
+          JsonItems.Add(Serialize(item));
         foreach (var p in item.Parameters)
           if(p.Parameters != null)
@@ -47,4 +42,7 @@
 
     public string GenerateTemplate(IAlgorithm algorithm, IProblem problem, params string[] freeParameters) {
+      JsonItems.Clear();
+      TypeList.Clear();
+
       algorithm.Problem = problem;
       JsonItem algorithmData = JsonItemConverter.Extract(algorithm);
@@ -55,5 +53,5 @@
       template[Constants.Metadata][Constants.Algorithm] = algorithm.Name;
       template[Constants.Metadata][Constants.Problem] = problem.Name;
-      template[Constants.Objects] = jsonItems;
+      template[Constants.Objects] = JsonItems;
       template[Constants.Types] = JObject.FromObject(TypeList);
 
@@ -63,6 +61,4 @@
     #region Helper
     private void RefactorFreeParameters(JToken token, string[] freeParameters) {
-
-
       IList<JObject> objToRemove = new List<JObject>();
       TransformNodes(x => {
@@ -77,5 +73,4 @@
           objToRemove.Add(x);
         } else {
-          //x.Property(nameof(JsonItem.Path))?.Remove();
           x.Property(nameof(JsonItem.Type))?.Remove();
           x.Property(nameof(JsonItem.Parameters))?.Remove();
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JCInstantiator.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JCInstantiator.cs	(revision 17322)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JCInstantiator.cs	(revision 17324)
@@ -10,4 +10,5 @@
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
+using HeuristicLab.SequentialEngine;
 using Newtonsoft.Json.Linq;
 
@@ -49,4 +50,5 @@
       //7. get problem data and object
       JsonItem problemData = GetData(problemName);
+      
       IProblem problem = CreateObject<IProblem>(problemData);
       algorithm.Problem = problem;
@@ -54,5 +56,10 @@
       //8. inject configuration
       JsonItemConverter.Inject(algorithm, algorithmData);
-      JsonItemConverter.Inject(problem, problemData);
+      //JsonItemConverter.Inject(problem, problemData);
+
+      if (algorithm is EngineAlgorithm) {
+        algorithm.Cast<EngineAlgorithm>().Engine = new SequentialEngine.SequentialEngine();
+        File.WriteAllText(@"C:\Workspace\test2.txt", "test");
+      }
 
       return algorithm;
@@ -86,5 +93,8 @@
         foreach (var p in x.Parameters)
           if (p.Default is string) {
-            string key = $"{p.Path}.{p.Default.Cast<string>()}";
+            string key = p.Path;
+            if (p.Range != null)
+              key = $"{p.Path}.{p.Default.Cast<string>()}";
+
             if (ParameterizedItems.TryGetValue(key, out JsonItem value))
               p.Reference = value;
@@ -171,5 +181,5 @@
     private IList<JsonItem> PopulateOperators(JObject obj) {
       IList<JsonItem> list = new List<JsonItem>();
-      JToken operators = obj[nameof(Operators)];
+      JToken operators = obj[nameof(JsonItem.Operators)];
       if (operators != null)
         foreach (JObject sp in operators)
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JsonItem.cs
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JsonItem.cs	(revision 17322)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/JsonItem.cs	(revision 17324)
@@ -15,5 +15,5 @@
     public string Name { get; set; }
     public string Type { get; set; }
-    public string Path { get; set; } = "";
+    public string Path { get; set; }
     public IList<JsonItem> Parameters { get; set; }
     public IList<JsonItem> Operators { get; set; }
Index: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Plugin.cs.frame
===================================================================
--- branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Plugin.cs.frame	(revision 17324)
+++ branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Plugin.cs.frame	(revision 17324)
@@ -0,0 +1,44 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Threading.Tasks;
+using HeuristicLab.PluginInfrastructure;
+
+namespace Heuristiclab.JsonInterface
+{
+  [Plugin("HeuristicLab.JsonInterface", "3.3.16.$WCREV$")]
+  [PluginFile("HeuristicLab.JsonInterface.dll", PluginFileType.Assembly)]
+  [PluginDependency("HeuristicLab.Attic", "1.0")]
+  [PluginDependency("HeuristicLab.Collections", "3.3")]
+  [PluginDependency("HeuristicLab.Common", "3.3")]
+  [PluginDependency("HeuristicLab.Core", "3.3")]
+  [PluginDependency("HeuristicLab.Data", "3.3")]
+  [PluginDependency("HeuristicLab.Optimization", "3.3")]
+  [PluginDependency("HeuristicLab.Parameters", "3.3")]
+  [PluginDependency("HeuristicLab.SequentialEngine", "3.3")]
+  public class HeuristicLabJsonInterfacePlugin : PluginBase {
+  }
+}
