Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IDecoder.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IDecoder.cs	(revision 16462)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IDecoder.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.BinPacking2D {
+  [StorableType("bd8c18da-9f11-47b7-b654-6c63309f2864")]
   public interface IDecoder<in T> : IItem {
     Solution Decode(T encodedSolution, PackingShape binShape, IList<PackingItem> items);
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IEvaluator.cs	(revision 16462)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IEvaluator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.BinPacking2D {
+  [StorableType("2b07154a-0861-426e-9a89-88269fec4865")]
   public interface IEvaluator : IItem {
     double Evaluate(Solution solution);
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IOperator.cs	(revision 16462)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/Interfaces/IOperator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.BinPacking2D {
+  [StorableType("347e0b15-f3ae-42a1-be51-0dae36e95d4c")]
   public interface IOperator<TSol> : IItem {
     ILookupParameter<ReadOnlyItemList<PackingItem>> ItemsParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/PackingShape.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/PackingShape.cs	(revision 16462)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/2D/PackingShape.cs	(revision 16476)
@@ -128,7 +128,8 @@
       }
     }
+
     #endregion
 
-
+    [StorableType(StorableMemberSelection.AllFields, "e0d5a387-b617-474d-b1e2-682bd15ea78f")]
     private struct RectangleDiagonal {
       public int x1;
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IDecoder.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IDecoder.cs	(revision 16462)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IDecoder.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.BinPacking3D {
+  [StorableType("df195f8b-c7c1-4167-bff1-362e30f3c4dd")]
   public interface IDecoder<in T> : IItem {
     Solution Decode(T encodedSolution, PackingShape binShape, IList<PackingItem> items, bool useStackingConstraints);
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IEvaluator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IEvaluator.cs	(revision 16462)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IEvaluator.cs	(revision 16476)
@@ -21,6 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.BinPacking3D {
+  [StorableType("9bc2a33b-46b1-457c-a96b-afb15d5cc01f")]
   public interface IEvaluator : IItem {
     double Evaluate(Solution solution);
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IOperator.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IOperator.cs	(revision 16462)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/Interfaces/IOperator.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.BinPacking3D {
+  [StorableType("d442d459-ad09-46df-8b3e-6164db9fb0e2")]
   public interface IOperator<TSol> : IItem {
     ILookupParameter<ReadOnlyItemList<PackingItem>> ItemsParameter { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/PackingShape.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/PackingShape.cs	(revision 16462)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/3D/PackingShape.cs	(revision 16476)
@@ -118,7 +118,7 @@
       else throw new ArgumentException(string.Format("Cannot compare with object {0}", obj), "obj");
     }
-
     #endregion
 
+    [StorableType(StorableMemberSelection.AllFields, "6dc0b0e2-e165-44e0-a342-71974f0494e3")]
     private struct CuboidDiagonal {
       public int x1;
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Algorithms/3D/ExtremePointAlgorithm.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Algorithms/3D/ExtremePointAlgorithm.cs	(revision 16462)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Algorithms/3D/ExtremePointAlgorithm.cs	(revision 16476)
@@ -34,6 +34,8 @@
 
 namespace HeuristicLab.Problems.BinPacking3D {
-  
+  [StorableType("32c0ea29-26aa-45f2-8e7f-a2d9beab75b9")]
   public enum SortingMethod { All, Given, VolumeHeight, HeightVolume, AreaHeight, HeightArea, ClusteredAreaHeight, ClusteredHeightArea }
+
+  [StorableType("bea57c08-7173-4cbb-915e-8c5954af3a50")]
   public enum FittingMethod { All, FirstFit, ResidualSpaceBestFit, FreeVolumeBestFit }
 
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingItem.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingItem.cs	(revision 16462)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingItem.cs	(revision 16476)
@@ -1,3 +1,4 @@
-﻿#region License Information
+﻿using HEAL.Fossil;
+#region License Information
 /* HeuristicLab
  * Copyright (C) 2002-2018 Joseph Helm and Heuristic and Evolutionary Algorithms Laboratory (HEAL)
@@ -21,4 +22,5 @@
 
 namespace HeuristicLab.Problems.BinPacking {
+  [StorableType("a0f46e8d-d18f-43c4-8b7d-66db0659b230")]
   // a packing item is one of the items that needs to be located in one of the packing bins (containers)
   public interface IPackingItem : IPackingShape {
@@ -30,5 +32,5 @@
     /// <param name="other"></param>
     /// <returns></returns>
-    bool SupportsStacking (IPackingItem other);
+    bool SupportsStacking(IPackingItem other);
   }
 }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingPosition.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingPosition.cs	(revision 16462)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingPosition.cs	(revision 16476)
@@ -21,7 +21,8 @@
 
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.BinPacking {
-  
+  [StorableType("a8003c2d-a48d-41b3-9f83-1d00f49ea434")]
   public interface IPackingPosition : IItem {
     int AssignedBin { get; }
Index: branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingShape.cs
===================================================================
--- branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingShape.cs	(revision 16462)
+++ branches/2520_PersistenceReintegration/HeuristicLab.Problems.BinPacking/3.3/Interfaces/IPackingShape.cs	(revision 16476)
@@ -22,6 +22,8 @@
 using System;
 using HeuristicLab.Core;
+using HEAL.Fossil;
 
 namespace HeuristicLab.Problems.BinPacking {
+  [StorableType("612b4eb0-946e-4690-ba43-8dd0e5520e8b")]
   // a packing shape represents a physical object of correct dimension (2d or 3d) 
   // packing bins (containers) and packing items are both packing shapes
