Index: branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Problem/BenchmarkSuite/IntegerVectorPushBenchmarkSuiteProblem.cs
===================================================================
--- branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Problem/BenchmarkSuite/IntegerVectorPushBenchmarkSuiteProblem.cs	(revision 15275)
+++ branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Problem/BenchmarkSuite/IntegerVectorPushBenchmarkSuiteProblem.cs	(revision 15275)
@@ -0,0 +1,72 @@
+﻿namespace HeuristicLab.Problems.ProgramSynthesis.Push.Problem.BenchmarkSuite {
+
+  using Common;
+  using Configuration;
+  using Core;
+
+  using HeuristicLab.BenchmarkSuite;
+  using HeuristicLab.BenchmarkSuite.Problems;
+  using HeuristicLab.Problems.ProgramSynthesis.Push.Expressions;
+
+  using Instances;
+  using Persistence.Default.CompositeSerializers.Storable;
+  using Stack;
+
+  [StorableClass]
+  [Creatable(CreatableAttribute.Categories.GeneticProgrammingProblems, Priority = 180)]
+  [Item("Integer Vector Push Problem", "")]
+  public class IntegerVectorPushBenchmarkSuiteProblem : IntegerVectorPushProblem, IProblemInstanceConsumer<ProblemData> {
+    public IntegerVectorPushBenchmarkSuiteProblem() : base(new PushBenchmarkSuiteEvaluator()) {
+      Parameters.Add(PushEvaluator.DataParameter);
+      Parameters.Add(PushEvaluator.DataBoundsParameter);
+
+      if (PushEvaluator.Data == null) {
+        var defaultProblem = new NumberIO();
+        Load(defaultProblem.CreateProblemData());
+      }
+    }
+
+    [StorableConstructor]
+    protected IntegerVectorPushBenchmarkSuiteProblem(bool deserializing)
+      : base(deserializing) {
+    }
+
+    protected IntegerVectorPushBenchmarkSuiteProblem(IntegerVectorPushBenchmarkSuiteProblem original, Cloner cloner)
+      : base(original, cloner) {
+    }
+
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new IntegerVectorPushBenchmarkSuiteProblem(this, cloner);
+    }
+
+    public new PushBenchmarkSuiteEvaluator PushEvaluator { get { return (PushBenchmarkSuiteEvaluator)base.PushEvaluator; } }
+
+    public void Load(ProblemData data) {
+      PushEvaluator.LoadData(data);
+
+      Name = "Push Problem: " + data.Name;
+      Description = data.Description;
+      BestKnownQuality = data.BestResult;
+      Config.MaxPointsInProgram = data.MaxSize;
+      Config.EvalPushLimit = data.EvalLimit;
+      Config.ErcOptions = data.ErcOptions;
+      Config.FloatStringFormat = data.FloatStringFormat;
+
+      Config.SetEnabledStacks((StackTypes)data.EnabledDataTypes);
+      Config.InitInExpressions(data.TotalInputArgumentCount);
+
+      Encoding.Bounds[0, 0] = 0;
+      Encoding.Bounds[0, 1] = Config.EnabledExpressions.Count;
+
+      Encoding.Length = data.MaxSize;
+    }
+
+    protected override PushSolution CreatePushSolution(
+      PushProgram program,
+      double bestQuality,
+      IRandom random,
+      IReadOnlyPushConfiguration config) {
+      return new PushBenchmarkSuiteSolution(program, bestQuality, random, config, (PushBenchmarkSuiteEvaluator)PushEvaluator.Clone());
+    }
+  }
+}
Index: branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Problem/BenchmarkSuite/PlushPushBenchmarkSuiteProblem.cs
===================================================================
--- branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Problem/BenchmarkSuite/PlushPushBenchmarkSuiteProblem.cs	(revision 15275)
+++ branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Problem/BenchmarkSuite/PlushPushBenchmarkSuiteProblem.cs	(revision 15275)
@@ -0,0 +1,66 @@
+﻿namespace HeuristicLab.Problems.ProgramSynthesis.Push.Problem.BenchmarkSuite {
+  using HeuristicLab.BenchmarkSuite;
+  using HeuristicLab.BenchmarkSuite.Problems;
+  using HeuristicLab.Common;
+  using HeuristicLab.Core;
+  using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+  using HeuristicLab.Problems.Instances;
+  using HeuristicLab.Problems.ProgramSynthesis.Push.Configuration;
+  using HeuristicLab.Problems.ProgramSynthesis.Push.Expressions;
+  using HeuristicLab.Problems.ProgramSynthesis.Push.Stack;
+
+  [StorableClass]
+  [Creatable(CreatableAttribute.Categories.GeneticProgrammingProblems, Priority = 180)]
+  [Item("Plush Push Problem", "")]
+  public class PlushPushBenchmarkSuiteProblem : PlushPushProblem, IProblemInstanceConsumer<ProblemData> {
+    public PlushPushBenchmarkSuiteProblem() : base(new PushBenchmarkSuiteEvaluator()) {
+      Parameters.Add(PushEvaluator.DataParameter);
+      Parameters.Add(PushEvaluator.DataBoundsParameter);
+
+      if (PushEvaluator.Data == null) {
+        var defaultProblem = new NumberIO();
+        Load(defaultProblem.CreateProblemData());
+      }
+    }
+
+    [StorableConstructor]
+    protected PlushPushBenchmarkSuiteProblem(bool deserializing)
+      : base(deserializing) {
+    }
+
+    protected PlushPushBenchmarkSuiteProblem(PlushPushBenchmarkSuiteProblem original, Cloner cloner)
+      : base(original, cloner) {
+    }
+
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new PlushPushBenchmarkSuiteProblem(this, cloner);
+    }
+
+    public new PushBenchmarkSuiteEvaluator PushEvaluator { get { return (PushBenchmarkSuiteEvaluator)base.PushEvaluator; } }
+
+    public void Load(ProblemData data) {
+      PushEvaluator.LoadData(data);
+
+      Name = "Push Problem: " + data.Name;
+      Description = data.Description;
+      BestKnownQuality = data.BestResult;
+      Config.MaxPointsInProgram = data.MaxSize;
+      Config.EvalPushLimit = data.EvalLimit;
+      Config.ErcOptions = data.ErcOptions;
+      Config.FloatStringFormat = data.FloatStringFormat;
+
+      Config.SetEnabledStacks((StackTypes)data.EnabledDataTypes);
+      Config.InitInExpressions(data.TotalInputArgumentCount);
+
+      Encoding.MaxLength = data.MaxSize;
+    }
+
+    protected override PushSolution CreatePushSolution(
+      PushProgram program,
+      double bestQuality,
+      IRandom random,
+      IReadOnlyPushConfiguration config) {
+      return new PushBenchmarkSuiteSolution(program, bestQuality, random, config, (PushBenchmarkSuiteEvaluator)PushEvaluator.Clone());
+    }
+  }
+}
Index: branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Problem/BenchmarkSuite/PushBenchmarkSuiteProblem.cs
===================================================================
--- branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Problem/BenchmarkSuite/PushBenchmarkSuiteProblem.cs	(revision 15273)
+++ 	(revision )
@@ -1,72 +1,0 @@
-﻿namespace HeuristicLab.Problems.ProgramSynthesis.Push.Problem.BenchmarkSuite {
-
-  using Common;
-  using Configuration;
-  using Core;
-
-  using HeuristicLab.BenchmarkSuite;
-  using HeuristicLab.BenchmarkSuite.Problems;
-  using HeuristicLab.Problems.ProgramSynthesis.Push.Expressions;
-
-  using Instances;
-  using Persistence.Default.CompositeSerializers.Storable;
-  using Stack;
-
-  [StorableClass]
-  [Creatable(CreatableAttribute.Categories.GeneticProgrammingProblems, Priority = 180)]
-  [Item("Push Problem", "")]
-  public class PushBenchmarkSuiteProblem : PushProblem, IProblemInstanceConsumer<ProblemData> {
-    public PushBenchmarkSuiteProblem() : base(new PushBenchmarkSuiteEvaluator()) {
-      Parameters.Add(PushEvaluator.DataParameter);
-      Parameters.Add(PushEvaluator.DataBoundsParameter);
-
-      if (PushEvaluator.Data == null) {
-        var defaultProblem = new NumberIO();
-        Load(defaultProblem.CreateProblemData());
-      }
-    }
-
-    [StorableConstructor]
-    protected PushBenchmarkSuiteProblem(bool deserializing)
-      : base(deserializing) {
-    }
-
-    protected PushBenchmarkSuiteProblem(PushBenchmarkSuiteProblem original, Cloner cloner)
-      : base(original, cloner) {
-    }
-
-    public override IDeepCloneable Clone(Cloner cloner) {
-      return new PushBenchmarkSuiteProblem(this, cloner);
-    }
-
-    public new PushBenchmarkSuiteEvaluator PushEvaluator { get { return (PushBenchmarkSuiteEvaluator)base.PushEvaluator; } }
-
-    public void Load(ProblemData data) {
-      PushEvaluator.LoadData(data);
-
-      Name = "Push Problem: " + data.Name;
-      Description = data.Description;
-      BestKnownQuality = data.BestResult;
-      Config.MaxPointsInProgram = data.MaxSize;
-      Config.EvalPushLimit = data.EvalLimit;
-      Config.ErcOptions = data.ErcOptions;
-      Config.FloatStringFormat = data.FloatStringFormat;
-
-      Config.SetEnabledStacks((StackTypes)data.EnabledDataTypes);
-      Config.InitInExpressions(data.TotalInputArgumentCount);
-
-      Encoding.Bounds[0, 0] = 0;
-      Encoding.Bounds[0, 1] = Config.EnabledExpressions.Count;
-
-      Encoding.Length = data.MaxSize;
-    }
-
-    protected override PushSolution CreatePushSolution(
-      PushProgram program,
-      double bestQuality,
-      IRandom random,
-      IReadOnlyPushConfiguration config) {
-      return new PushBenchmarkSuiteSolution(program, bestQuality, random, config, (PushBenchmarkSuiteEvaluator)PushEvaluator.Clone());
-    }
-  }
-}
