Index: branches/New Persistence Exploration/Persistence/Persistence/Default/Xml/XmlGenerator.cs
===================================================================
--- branches/New Persistence Exploration/Persistence/Persistence/Default/Xml/XmlGenerator.cs	(revision 1362)
+++ branches/New Persistence Exploration/Persistence/Persistence/Default/Xml/XmlGenerator.cs	(revision 1363)
@@ -4,4 +4,5 @@
 using HeuristicLab.Persistence.Interfaces;
 using HeuristicLab.Persistence.Core;
+using System.IO;
 
 namespace HeuristicLab.Persistence.Default.Xml {
@@ -36,5 +37,13 @@
     private enum NodeType { Start, End, Inline } ;
 
-    private static string FormatNode(string name, Dictionary<string, object> attributes, NodeType type) {
+    private static string FormatNode(string name,
+        Dictionary<string, object> attributes,
+        NodeType type) {
+      return FormatNode(name, attributes, type, " ");
+    }
+
+    private static string FormatNode(string name,
+        Dictionary<string, object> attributes,
+        NodeType type, string space) {
       StringBuilder sb = new StringBuilder();
       sb.Append('<');
@@ -44,5 +53,5 @@
       foreach (var attribute in attributes) {
         if (attribute.Value != null && !string.IsNullOrEmpty(attribute.Value.ToString())) {
-          sb.Append(' ');
+          sb.Append(space);
           sb.Append(attribute.Key);
           sb.Append("=\"");
@@ -112,7 +121,34 @@
       yield return "<" + XmlStrings.TYPECACHE + ">";
       foreach (var mapping in typeCache)
-        yield return FormatNode(XmlStrings.TYPE, mapping.GetDict(), NodeType.Inline);                                
+        yield return "  " + FormatNode(
+          XmlStrings.TYPE,
+          mapping.GetDict(),
+          NodeType.Inline,
+          "\n    ");
       yield return "</" + XmlStrings.TYPECACHE + ">";
     }
+
+    public static void Serialize(object o, string basename) {      
+      Serialize(o, basename, ConfigurationService.Instance.GetDefaultConfig(XmlFormat.Instance));
+    }
+
+    public static void Serialize(object o, string basename, Configuration configuration) {
+    Serializer s = new Serializer(o, configuration);
+      XmlGenerator xmlGenerator = new XmlGenerator();
+      StreamWriter writer = new StreamWriter(basename + ".xml");
+      foreach (ISerializationToken token in s) {
+        string line = xmlGenerator.Format(token);
+        writer.Write(line);
+        Console.Out.Write(line);
+      }
+      writer.Close();
+      writer = new StreamWriter(basename + "-types.xml");
+      foreach (string line in xmlGenerator.Format(s.TypeCache)) {
+        writer.WriteLine(line);
+        Console.Out.WriteLine(line);
+      }
+      writer.Close();      
+    }
+
   }
 }
Index: branches/New Persistence Exploration/Persistence/Persistence/Default/Xml/XmlParser.cs
===================================================================
--- branches/New Persistence Exploration/Persistence/Persistence/Default/Xml/XmlParser.cs	(revision 1362)
+++ branches/New Persistence Exploration/Persistence/Persistence/Default/Xml/XmlParser.cs	(revision 1363)
@@ -104,4 +104,11 @@
       return typeCache;
     }
+
+    public static object DeSerialize(string basename) {
+      DeSerializer deSerializer = new DeSerializer(
+        ParseTypeCache(new StreamReader(basename + "-types.xml")));
+      XmlParser parser = new XmlParser(new StreamReader("test.xml"));
+      return deSerializer.DeSerialize(parser);      
+    }
   }  
 }
Index: branches/New Persistence Exploration/Persistence/Persistence/HeuristicLab.Persistence.csproj
===================================================================
--- branches/New Persistence Exploration/Persistence/Persistence/HeuristicLab.Persistence.csproj	(revision 1362)
+++ branches/New Persistence Exploration/Persistence/Persistence/HeuristicLab.Persistence.csproj	(revision 1363)
@@ -9,6 +9,6 @@
     <OutputType>Library</OutputType>
     <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>Persistence</RootNamespace>
-    <AssemblyName>Persistence</AssemblyName>
+    <RootNamespace>HeuristicLab.Persistence</RootNamespace>
+    <AssemblyName>HeuristicLab.Persistence</AssemblyName>
     <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
Index: branches/New Persistence Exploration/Persistence/Test/NewSerializationTest.cs
===================================================================
--- branches/New Persistence Exploration/Persistence/Test/NewSerializationTest.cs	(revision 1362)
+++ branches/New Persistence Exploration/Persistence/Test/NewSerializationTest.cs	(revision 1363)
@@ -154,24 +154,6 @@
       r.dict.Add("two", 2);
       r.dict.Add("three", 3);
-      Serializer s = new Serializer(r, ConfigurationService.Instance.GetDefaultConfig(XmlFormat.Instance));        
-      XmlGenerator xmlGenerator = new XmlGenerator();
-      StreamWriter writer = new StreamWriter("test.xml");
-      foreach (ISerializationToken token in s) {
-        string line = xmlGenerator.Format(token);
-        writer.Write(line);
-        Console.Out.Write(line);
-      }
-      writer.Close();
-      writer = new StreamWriter("test-types.xml");
-      foreach (string line in xmlGenerator.Format(s.TypeCache)) {
-        writer.WriteLine(line);
-        Console.Out.WriteLine(line);
-      }
-      writer.Close();
-      
-      XmlParser parser = new XmlParser(new StreamReader("test.xml"));
-      DeSerializer deSerializer = new DeSerializer(
-        XmlParser.ParseTypeCache(new StreamReader("test-types.xml")));        
-      object o = deSerializer.DeSerialize(parser);      
+      XmlGenerator.Serialize(r, "test");            
+      object o = XmlParser.DeSerialize("test");
       Console.Out.WriteLine(Util.AutoFormat(o, true));      
     }
