Index: branches/2521_ProblemRefactoring/HeuristicLab.Clients.OKB/3.3/RunCreation/MultiObjectiveOKBProblem.cs
===================================================================
--- branches/2521_ProblemRefactoring/HeuristicLab.Clients.OKB/3.3/RunCreation/MultiObjectiveOKBProblem.cs	(revision 17333)
+++ branches/2521_ProblemRefactoring/HeuristicLab.Clients.OKB/3.3/RunCreation/MultiObjectiveOKBProblem.cs	(revision 17334)
@@ -21,8 +21,8 @@
 
 using System;
+using HEAL.Attic;
 using HeuristicLab.Common;
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HEAL.Attic;
 
 namespace HeuristicLab.Clients.OKB.RunCreation {
@@ -30,7 +30,5 @@
   [Creatable(CreatableAttribute.Categories.TestingAndAnalysisOKB, Priority = 120)]
   [StorableType("BB74E220-F721-4129-9A50-374647B16B97")]
-  public sealed class MultiObjectiveOKBProblem : OKBProblem, IMultiObjectiveHeuristicOptimizationProblem, IStorableContent {
-    public string Filename { get; set; }
-
+  public sealed class MultiObjectiveOKBProblem : OKBProblem, IMultiObjectiveHeuristicOptimizationProblem {
     public override Type ProblemType {
       get { return typeof(IMultiObjectiveHeuristicOptimizationProblem); }
Index: branches/2521_ProblemRefactoring/HeuristicLab.Clients.OKB/3.3/RunCreation/OKBProblem.cs
===================================================================
--- branches/2521_ProblemRefactoring/HeuristicLab.Clients.OKB/3.3/RunCreation/OKBProblem.cs	(revision 17333)
+++ branches/2521_ProblemRefactoring/HeuristicLab.Clients.OKB/3.3/RunCreation/OKBProblem.cs	(revision 17334)
@@ -20,9 +20,4 @@
 #endregion
 
-using HeuristicLab.Common;
-using HeuristicLab.Core;
-using HeuristicLab.Optimization;
-using HEAL.Attic;
-using HeuristicLab.Persistence.Default.Xml;
 using System;
 using System.Collections.Generic;
@@ -30,4 +25,9 @@
 using System.IO;
 using System.Linq;
+using HEAL.Attic;
+using HeuristicLab.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Optimization;
+using HeuristicLab.Persistence.Default.Xml;
 
 namespace HeuristicLab.Clients.OKB.RunCreation {
@@ -35,4 +35,5 @@
   [StorableType("041DC8A8-2987-4045-B24A-CBA7EAD47316")]
   public abstract class OKBProblem : Item, IHeuristicOptimizationProblem {
+    public string Filename { get; set; }
     public virtual Type ProblemType {
       get { return typeof(IHeuristicOptimizationProblem); }
Index: branches/2521_ProblemRefactoring/HeuristicLab.Clients.OKB/3.3/RunCreation/SingleObjectiveOKBProblem.cs
===================================================================
--- branches/2521_ProblemRefactoring/HeuristicLab.Clients.OKB/3.3/RunCreation/SingleObjectiveOKBProblem.cs	(revision 17333)
+++ branches/2521_ProblemRefactoring/HeuristicLab.Clients.OKB/3.3/RunCreation/SingleObjectiveOKBProblem.cs	(revision 17334)
@@ -21,8 +21,8 @@
 
 using System;
+using HEAL.Attic;
 using HeuristicLab.Common;
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HEAL.Attic;
 
 namespace HeuristicLab.Clients.OKB.RunCreation {
@@ -30,6 +30,5 @@
   [Creatable(CreatableAttribute.Categories.TestingAndAnalysisOKB, Priority = 110)]
   [StorableType("1A1DF6E8-4A3F-4D91-9B1D-6FF6EC8D1055")]
-  public sealed class SingleObjectiveOKBProblem : OKBProblem, ISingleObjectiveHeuristicOptimizationProblem, IStorableContent {
-    public string Filename { get; set; }
+  public sealed class SingleObjectiveOKBProblem : OKBProblem, ISingleObjectiveHeuristicOptimizationProblem {
 
     public override Type ProblemType {
Index: branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/BasicProblems/Problem.cs
===================================================================
--- branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/BasicProblems/Problem.cs	(revision 17333)
+++ branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/BasicProblems/Problem.cs	(revision 17334)
@@ -36,5 +36,5 @@
     where TEncodedSolution : class, IEncodedSolution
     where TEvaluator : class, IEvaluator {
-    public string Filename { get; set; } // TODO: Really okay here? should be in Problem (non-generic)
+   
 
     //TODO remove parameter for encoding?
Index: branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/Interfaces/IProblem.cs
===================================================================
--- branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/Interfaces/IProblem.cs	(revision 17333)
+++ branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/Interfaces/IProblem.cs	(revision 17334)
@@ -23,4 +23,5 @@
 using System.Collections.Generic;
 using HEAL.Attic;
+using HeuristicLab.Common;
 using HeuristicLab.Core;
 
@@ -30,5 +31,5 @@
   /// Interface to represent an optimization problem.
   /// </summary>
-  public interface IProblem : IParameterizedNamedItem {
+  public interface IProblem : IParameterizedNamedItem , IStorableContent{
     IEnumerable<IItem> Operators { get; }
 
Index: branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/Problems/Problem.cs
===================================================================
--- branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/Problems/Problem.cs	(revision 17333)
+++ branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/Problems/Problem.cs	(revision 17334)
@@ -34,4 +34,6 @@
   [StorableType("6DC97432-9BD1-4304-802A-1FC48A0E0468")]
   public abstract class Problem : ParameterizedNamedItem, IProblem {
+    public string Filename { get; set; } 
+
     private const string OperatorsParameterName = "Operators";
     public IFixedValueParameter<ItemCollection<IItem>> OperatorsParameter {
