Index: /branches/PersistenceReintegration/HeuristicLab.Common/3.3/Content/ContentManager.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Common/3.3/Content/ContentManager.cs	(revision 14929)
+++ /branches/PersistenceReintegration/HeuristicLab.Common/3.3/Content/ContentManager.cs	(revision 14930)
@@ -57,13 +57,13 @@
     protected abstract IStorableContent LoadContent(string filename);
 
-    public static void Save(IStorableContent content, string filename, bool compressed) {
+    public static void Save(IStorableContent content, string filename) {
       if (instance == null) throw new InvalidOperationException("ContentManager is not initialized.");
-      instance.SaveContent(content, filename, compressed);
+      instance.SaveContent(content, filename);
       content.Filename = filename;
     }
-    public static void SaveAsync(IStorableContent content, string filename, bool compressed, Action<IStorableContent, Exception> savingCompletedCallback) {
+    public static void SaveAsync(IStorableContent content, string filename, Action<IStorableContent, Exception> savingCompletedCallback) {
       if (instance == null) throw new InvalidOperationException("ContentManager is not initialized.");
-      var action = new Action<IStorableContent, string, bool>(instance.SaveContent);
-      action.BeginInvoke(content, filename, compressed, delegate (IAsyncResult result) {
+      var action = new Action<IStorableContent, string>(instance.SaveContent);
+      action.BeginInvoke(content, filename, delegate (IAsyncResult result) {
         Exception error = null;
         try {
@@ -77,5 +77,5 @@
 
     }
-    protected abstract void SaveContent(IStorableContent content, string filename, bool compressed);
+    protected abstract void SaveContent(IStorableContent content, string filename);
   }
 }
Index: /branches/PersistenceReintegration/HeuristicLab.Core.Views/3.3/Clipboard.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core.Views/3.3/Clipboard.cs	(revision 14929)
+++ /branches/PersistenceReintegration/HeuristicLab.Core.Views/3.3/Clipboard.cs	(revision 14930)
@@ -30,4 +30,5 @@
 using HeuristicLab.Common;
 using HeuristicLab.MainForm;
+using HeuristicLab.Persistence;
 using HeuristicLab.Persistence.Default.Xml;
 using HeuristicLab.PluginInfrastructure;
@@ -155,5 +156,13 @@
       foreach (string filename in items) {
         try {
-          T item = XmlParser.Deserialize<T>(filename);
+
+          #region backwards compatibility 
+          T item = null;
+          try {
+            item = XmlParser.Deserialize<T>(filename);
+          } catch(Exception e) { }
+          if (item == null)
+            item = (T)(new ProtoBufSerializer()).Deserialize(filename);
+          #endregion
           OnItemLoaded(item, progressBar.Maximum / items.Length);
         } catch (Exception) { }
@@ -197,5 +206,5 @@
           i++;
           SetEnabledStateOfContentViews(item, false);
-          XmlGenerator.Serialize(item, ItemsPath + Path.DirectorySeparatorChar + i.ToString("00000000") + ".hl", CompressionLevel.Optimal);
+          (new ProtoBufSerializer()).Serialize(item, ItemsPath + Path.DirectorySeparatorChar + i.ToString("00000000") + ".hl");
           OnItemSaved(item, progressBar.Maximum / listView.Items.Count);
         } catch (Exception) { } finally {
Index: /branches/PersistenceReintegration/HeuristicLab.Core/3.3/PersistenceContentManager.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Core/3.3/PersistenceContentManager.cs	(revision 14929)
+++ /branches/PersistenceReintegration/HeuristicLab.Core/3.3/PersistenceContentManager.cs	(revision 14930)
@@ -20,7 +20,6 @@
 #endregion
 
-using System.IO.Compression;
+using System;
 using HeuristicLab.Common;
-using HeuristicLab.Persistence.Default.Xml;
 
 namespace HeuristicLab.Core {
@@ -29,9 +28,21 @@
 
     protected override IStorableContent LoadContent(string filename) {
-      return XmlParser.Deserialize<IStorableContent>(filename);
+      #region backwards compatibility 
+      // try to deserialize with new serializer first
+      var serializer = new HeuristicLab.Persistence.ProtoBufSerializer();
+      IStorableContent content;
+      try {
+        content = (IStorableContent)serializer.Deserialize(filename);
+        return content;
+      } catch (Exception e) { }
+      return HeuristicLab.Persistence.Default.Xml.XmlParser.Deserialize<IStorableContent>(filename);
+      #endregion
     }
 
-    protected override void SaveContent(IStorableContent content, string filename, bool compressed) {
-      XmlGenerator.Serialize(content, filename, compressed ? CompressionLevel.Optimal : CompressionLevel.NoCompression);
+    protected override void SaveContent(IStorableContent content, string filename) {
+      // XmlGenerator.Serialize(content, filename, compressed ? CompressionLevel.Optimal : CompressionLevel.NoCompression);
+
+      var serializer = new HeuristicLab.Persistence.ProtoBufSerializer();
+      serializer.Serialize(content, filename);
     }
   }
Index: /branches/PersistenceReintegration/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.cs	(revision 14929)
+++ /branches/PersistenceReintegration/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.cs	(revision 14930)
@@ -206,6 +206,6 @@
         Title = "Save Item",
         DefaultExt = "hl",
-        Filter = "Uncompressed HeuristicLab Files|*.hl|HeuristicLab Files|*.hl|All Files|*.*",
-        FilterIndex = 2
+        Filter = "HeuristicLab Files|*.hl|All Files|*.*",
+        FilterIndex = 1
       };
 
@@ -219,5 +219,5 @@
             try {
               mainForm.AddOperationProgressToContent(activeView.Content, "Exporting data.");
-              ContentManager.Save(storable, saveFileDialog.FileName, compressed);
+              PersistenceContentManager.Save(storable, saveFileDialog.FileName);
             } finally {
               mainForm.RemoveOperationProgressFromContent(activeView.Content);
Index: /branches/PersistenceReintegration/HeuristicLab.Optimizer/3.3/FileManager.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Optimizer/3.3/FileManager.cs	(revision 14929)
+++ /branches/PersistenceReintegration/HeuristicLab.Optimizer/3.3/FileManager.cs	(revision 14930)
@@ -78,9 +78,7 @@
         if (view == null)
           ErrorHandling.ShowErrorDialog("There is no view for the loaded item. It cannot be displayed.", new InvalidOperationException("No View Available"));
-      }
-      catch (Exception ex) {
+      } catch (Exception ex) {
         ErrorHandling.ShowErrorDialog((Control)MainFormManager.MainForm, "Cannot open file.", ex);
-      }
-      finally {
+      } finally {
         ((MainForm.WindowsForms.MainForm)MainFormManager.MainForm).ResetAppStartingCursor();
       }
@@ -101,5 +99,5 @@
           MainFormManager.GetMainForm<HeuristicLab.MainForm.WindowsForms.MainForm>().SetAppStartingCursor();
           SetSaveOperationProgressInContentViews(content, true);
-          ContentManager.SaveAsync(content, content.Filename, true, SavingCompleted);
+          ContentManager.SaveAsync(content, content.Filename, SavingCompleted);
         }
       }
@@ -118,6 +116,6 @@
           saveFileDialog.Title = "Save Item";
           saveFileDialog.DefaultExt = "hl";
-          saveFileDialog.Filter = "Uncompressed HeuristicLab Files|*.hl|HeuristicLab Files|*.hl|All Files|*.*";
-          saveFileDialog.FilterIndex = 2;
+          saveFileDialog.Filter = "HeuristicLab Files|*.hl|All Files|*.*";
+          saveFileDialog.FilterIndex = 1;
         }
 
@@ -133,9 +131,5 @@
           MainFormManager.GetMainForm<HeuristicLab.MainForm.WindowsForms.MainForm>().SetAppStartingCursor();
           SetSaveOperationProgressInContentViews(content, true, saveFileDialog.FileName);
-          if (saveFileDialog.FilterIndex == 1) {
-            ContentManager.SaveAsync(content, saveFileDialog.FileName, false, SavingCompleted);
-          } else {
-            ContentManager.SaveAsync(content, saveFileDialog.FileName, true, SavingCompleted);
-          }
+          ContentManager.SaveAsync(content, saveFileDialog.FileName, SavingCompleted);
         }
       }
@@ -145,9 +139,7 @@
         if (error != null) throw error;
         MainFormManager.GetMainForm<HeuristicLab.MainForm.WindowsForms.MainForm>().UpdateTitle();
-      }
-      catch (Exception ex) {
+      } catch (Exception ex) {
         ErrorHandling.ShowErrorDialog((Control)MainFormManager.MainForm, "Cannot save file.", ex);
-      }
-      finally {
+      } finally {
         SetSaveOperationProgressInContentViews(content, false);
         MainFormManager.GetMainForm<HeuristicLab.MainForm.WindowsForms.MainForm>().ResetAppStartingCursor();
Index: /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DataAnalysisSolutionView.cs
===================================================================
--- /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DataAnalysisSolutionView.cs	(revision 14929)
+++ /branches/PersistenceReintegration/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DataAnalysisSolutionView.cs	(revision 14930)
@@ -126,5 +126,5 @@
       if (loadProblemDataFileDialog.ShowDialog(this) != DialogResult.OK) return;
       try {
-        object hlFile = XmlParser.Deserialize(loadProblemDataFileDialog.FileName);
+        object hlFile = PersistenceContentManager.Load(loadProblemDataFileDialog.FileName);
 
         IDataAnalysisProblemData problemData = null;
