Index: stable/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/ScatterPlotAnalyzer.cs
===================================================================
--- stable/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/ScatterPlotAnalyzer.cs	(revision 14190)
+++ stable/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Analyzers/ScatterPlotAnalyzer.cs	(revision 15244)
@@ -37,6 +37,6 @@
     }
 
-    public IResultParameter<ScatterPlotContent> ScatterPlotResultParameter {
-      get { return (IResultParameter<ScatterPlotContent>)Parameters["Scatterplot"]; }
+    public IResultParameter<ParetoFrontScatterPlot> ScatterPlotResultParameter {
+      get { return (IResultParameter<ParetoFrontScatterPlot>)Parameters["Scatterplot"]; }
     }
 
@@ -51,5 +51,5 @@
     public ScatterPlotAnalyzer() {
       Parameters.Add(new ScopeTreeLookupParameter<RealVector>("Individuals", "The individual solutions to the problem"));
-      Parameters.Add(new ResultParameter<ScatterPlotContent>("Scatterplot", "The scatterplot for the current and optimal (if known front)"));
+      Parameters.Add(new ResultParameter<ParetoFrontScatterPlot>("Scatterplot", "The scatterplot for the current and optimal (if known front)"));
 
     }
@@ -57,7 +57,8 @@
     public override IOperation Apply() {
       var qualities = QualitiesParameter.ActualValue;
+      var individuals = IndividualsParameter.ActualValue;
       var testFunction = TestFunctionParameter.ActualValue;
       int objectives = qualities[0].Length;
-      var individuals = IndividualsParameter.ActualValue;
+      int problemSize = individuals[0].Length;
 
       double[][] optimalFront = new double[0][];
@@ -68,5 +69,5 @@
       var solutionClones = individuals.Select(s => s.ToArray()).ToArray();
 
-      ScatterPlotResultParameter.ActualValue = new ScatterPlotContent(qualityClones, solutionClones, optimalFront, objectives);
+      ScatterPlotResultParameter.ActualValue = new ParetoFrontScatterPlot(qualityClones, solutionClones, optimalFront, objectives, problemSize);
 
       return base.Apply();
Index: stable/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/HeuristicLab.Problems.TestFunctions.MultiObjective-3.3.csproj
===================================================================
--- stable/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/HeuristicLab.Problems.TestFunctions.MultiObjective-3.3.csproj	(revision 14190)
+++ stable/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/HeuristicLab.Problems.TestFunctions.MultiObjective-3.3.csproj	(revision 15244)
@@ -111,5 +111,5 @@
     <Compile Include="Calculators\InvertedGenerationalDistance.cs" />
     <Compile Include="Calculators\GenerationalDistance.cs" />
-    <Compile Include="ScatterPlotContent.cs" />
+    <Compile Include="ParetoFrontScatterPlot.cs" />
     <Compile Include="Utilities.cs" />
     <Compile Include="Instances\MISCInstanceProvider.cs" />
@@ -179,4 +179,9 @@
       <Private>False</Private>
     </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Common.Resources\3.3\HeuristicLab.Common.Resources-3.3.csproj">
+      <Project>{0e27a536-1c4a-4624-a65e-dc4f4f23e3e1}</Project>
+      <Name>HeuristicLab.Common.Resources-3.3</Name>
+      <Private>False</Private>
+    </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
       <Project>{a9ad58b9-3ef9-4cc1-97e5-8d909039ff5c}</Project>
Index: stable/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/ParetoFrontScatterPlot.cs
===================================================================
--- stable/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/ParetoFrontScatterPlot.cs	(revision 15244)
+++ stable/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/ParetoFrontScatterPlot.cs	(revision 15244)
@@ -0,0 +1,93 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2016 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.Drawing;
+using System.Linq;
+using HeuristicLab.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+
+namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
+  [StorableClass]
+  [Item("Pareto Front Scatter Plot", "The optimal front, current front and its associated Points in the searchspace")]
+  public class ParetoFrontScatterPlot : Item {
+    public static new Image StaticItemImage {
+      get { return HeuristicLab.Common.Resources.VSImageLibrary.Performance; }
+    }
+
+    [Storable]
+    private int objectives;
+    public int Objectives {
+      get { return objectives; }
+    }
+
+    [Storable]
+    private int problemSize;
+    public int ProblemSize {
+      get { return problemSize; }
+    }
+
+    [Storable]
+    private double[][] qualities;
+    public double[][] Qualities {
+      get { return qualities; }
+    }
+
+    [Storable]
+    private double[][] solutions;
+    public double[][] Solutions {
+      get { return solutions; }
+    }
+
+    [Storable]
+    private double[][] paretoFront;
+    public double[][] ParetoFront {
+      get { return paretoFront; }
+    }
+
+    #region Constructor, Cloning & Persistance
+    public ParetoFrontScatterPlot(double[][] qualities, double[][] solutions, double[][] paretoFront, int objectives, int problemSize) {
+      this.qualities = qualities;
+      this.solutions = solutions;
+      this.paretoFront = paretoFront;
+      this.objectives = objectives;
+      this.problemSize = problemSize;
+    }
+    public ParetoFrontScatterPlot() { }
+
+    protected ParetoFrontScatterPlot(ParetoFrontScatterPlot original, Cloner cloner)
+      : base(original, cloner) {
+      if (original.qualities != null) qualities = original.qualities.Select(s => s.ToArray()).ToArray();
+      if (original.solutions != null) solutions = original.solutions.Select(s => s.ToArray()).ToArray();
+      if (original.paretoFront != null) paretoFront = original.paretoFront.Select(s => s.ToArray()).ToArray();
+      objectives = original.objectives;
+      problemSize = original.problemSize;
+    }
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new ParetoFrontScatterPlot(this, cloner);
+    }
+
+    [StorableConstructor]
+    protected ParetoFrontScatterPlot(bool deserializing)
+      : base(deserializing) { }
+    #endregion
+  }
+}
Index: stable/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Plugin.cs.frame
===================================================================
--- stable/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Plugin.cs.frame	(revision 14190)
+++ stable/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/Plugin.cs.frame	(revision 15244)
@@ -25,5 +25,6 @@
   [Plugin("HeuristicLab.Problems.TestFunctions.MultiObjective", "3.3.14.$WCREV$")]
   [PluginFile("HeuristicLab.Problems.TestFunctions.MultiObjective-3.3.dll", PluginFileType.Assembly)]
-  [PluginDependency("HeuristicLab.Collections", "3.3")] 
+  [PluginDependency("HeuristicLab.Collections", "3.3")]
+  [PluginDependency("HeuristicLab.Common.Resources", "3.3")]
   [PluginDependency("HeuristicLab.Common", "3.3")]
   [PluginDependency("HeuristicLab.Core", "3.3")]  
Index: stable/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/ScatterPlotContent.cs
===================================================================
--- stable/HeuristicLab.Problems.TestFunctions.MultiObjective/3.3/ScatterPlotContent.cs	(revision 14190)
+++ 	(revision )
@@ -1,101 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2016 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.Linq;
-using HeuristicLab.Common;
-using HeuristicLab.Core;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-
-namespace HeuristicLab.Problems.TestFunctions.MultiObjective {
-  [StorableClass]
-  [Item("ScatterPlot", "The optimal front, current front and its associated Points in the searchspace")]
-  public class ScatterPlotContent : Item {
-
-    [Storable]
-    private double[][] qualities;
-    public double[][] Qualities {
-      get {
-        return qualities;
-      }
-
-      private set {
-        qualities = value;
-      }
-    }
-
-    [Storable]
-    private int objectives;
-    public int Objectives {
-      get {
-        return objectives;
-      }
-
-      private set {
-        objectives = value;
-      }
-    }
-
-    [Storable]
-    private double[][] solutions;
-    public double[][] Solutions {
-      get {
-        return solutions;
-      }
-
-      private set {
-        solutions = value;
-      }
-    }
-
-    [Storable]
-    private double[][] paretoFront;
-    public double[][] ParetoFront {
-      get {
-        return paretoFront;
-      }
-
-      private set {
-        paretoFront = value;
-      }
-    }
-
-    [StorableConstructor]
-    protected ScatterPlotContent(bool deserializing) : base() { }
-
-    protected ScatterPlotContent(ScatterPlotContent original, Cloner cloner)
-      : this() {
-      this.qualities = original.qualities.Select(s => s.ToArray()).ToArray();
-      this.solutions = original.solutions.Select(s => s.ToArray()).ToArray();
-      this.paretoFront = original.paretoFront.Select(s => s.ToArray()).ToArray();
-      this.objectives = original.objectives;
-    }
-    protected ScatterPlotContent() : base() { }
-    public ScatterPlotContent(double[][] qualities, double[][] solutions, double[][] paretoFront, int objectives) {
-      this.qualities = qualities;
-      this.solutions = solutions;
-      this.paretoFront = paretoFront;
-      this.objectives = objectives;
-    }
-
-    public override IDeepCloneable Clone(Cloner cloner) {
-      return new ScatterPlotContent(this, cloner);
-    }
-  }
-}
