Index: trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/CordeauFormat/CordeauFormatInstanceProvider.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/CordeauFormat/CordeauFormatInstanceProvider.cs	(revision 8180)
+++ trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/CordeauFormat/CordeauFormatInstanceProvider.cs	(revision 8192)
@@ -20,12 +20,5 @@
 #endregion
 
-using System;
-using System.Collections.Generic;
 using System.IO;
-using System.Linq;
-using System.Reflection;
-using System.Text.RegularExpressions;
-using ICSharpCode.SharpZipLib.Zip;
-using HeuristicLab.Problems.Instances.TSPLIB;
 
 namespace HeuristicLab.Problems.Instances.VehicleRouting {
@@ -35,5 +28,8 @@
     }
 
-    public override MDCVRPTWData LoadData(string path) {
+    public override bool CanImportData {
+      get { return true; }
+    }
+    public override MDCVRPTWData ImportData(string path) {
       return LoadInstance(new CordeauParser(path));
     }
Index: trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/GoldenFormat/GoldenFormatInstanceProvider.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/GoldenFormat/GoldenFormatInstanceProvider.cs	(revision 8180)
+++ trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/GoldenFormat/GoldenFormatInstanceProvider.cs	(revision 8192)
@@ -21,11 +21,5 @@
 
 using System;
-using System.Collections.Generic;
 using System.IO;
-using System.Linq;
-using System.Reflection;
-using System.Text.RegularExpressions;
-using ICSharpCode.SharpZipLib.Zip;
-using HeuristicLab.Problems.Instances.TSPLIB;
 
 namespace HeuristicLab.Problems.Instances.VehicleRouting {
@@ -35,5 +29,8 @@
     }
 
-    public override CVRPTWData LoadData(string path) {
+    public override bool CanImportData {
+      get { return true; }
+    }
+    public override CVRPTWData ImportData(string path) {
       return LoadInstance(new GoldenParser(path));
     }
@@ -66,5 +63,5 @@
       }
 
-      if(parser.Distance > 0)
+      if (parser.Distance > 0)
         instance.DueTimes[0] = parser.Distance;
 
Index: trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/IVRPInstanceProvider.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/IVRPInstanceProvider.cs	(revision 8180)
+++ trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/IVRPInstanceProvider.cs	(revision 8192)
@@ -22,5 +22,9 @@
 namespace HeuristicLab.Problems.Instances.VehicleRouting {
   public interface IVRPInstanceProvider {
-    IVRPData LoadData(string vrpFile, string tourFile);
+    bool CanImportData { get; }
+    IVRPData Import(string vrpFile, string tourFile);
+
+    bool CanExportData { get; }
+    void Export(IVRPData instance, string path);
   }
 }
Index: trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/LiLimFormat/LiLimFormatInstanceProvider.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/LiLimFormat/LiLimFormatInstanceProvider.cs	(revision 8180)
+++ trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/LiLimFormat/LiLimFormatInstanceProvider.cs	(revision 8192)
@@ -20,12 +20,5 @@
 #endregion
 
-using System;
-using System.Collections.Generic;
 using System.IO;
-using System.Linq;
-using System.Reflection;
-using System.Text.RegularExpressions;
-using ICSharpCode.SharpZipLib.Zip;
-using HeuristicLab.Problems.Instances.TSPLIB;
 
 namespace HeuristicLab.Problems.Instances.VehicleRouting {
@@ -35,5 +28,8 @@
     }
 
-    public override PDPTWData LoadData(string path) {
+    public override bool CanImportData {
+      get { return true; }
+    }
+    public override PDPTWData ImportData(string path) {
       return LoadInstance(new LiLimParser(path));
     }
Index: trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/SolomonFormat/SolomonFormatInstanceProvider.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/SolomonFormat/SolomonFormatInstanceProvider.cs	(revision 8180)
+++ trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/SolomonFormat/SolomonFormatInstanceProvider.cs	(revision 8192)
@@ -20,12 +20,5 @@
 #endregion
 
-using System;
-using System.Collections.Generic;
 using System.IO;
-using System.Linq;
-using System.Reflection;
-using System.Text.RegularExpressions;
-using ICSharpCode.SharpZipLib.Zip;
-using HeuristicLab.Problems.Instances.TSPLIB;
 
 namespace HeuristicLab.Problems.Instances.VehicleRouting {
@@ -35,5 +28,8 @@
     }
 
-    public override CVRPTWData LoadData(string path) {
+    public override bool CanImportData {
+      get { return true; }
+    }
+    public override CVRPTWData ImportData(string path) {
       return LoadInstance(new SolomonParser(path));
     }
Index: trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/TSPLibFormat/TSPLibFormatInstanceProvider.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/TSPLibFormat/TSPLibFormatInstanceProvider.cs	(revision 8180)
+++ trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/TSPLibFormat/TSPLibFormatInstanceProvider.cs	(revision 8192)
@@ -21,10 +21,5 @@
 
 using System;
-using System.Collections.Generic;
 using System.IO;
-using System.Linq;
-using System.Reflection;
-using System.Text.RegularExpressions;
-using ICSharpCode.SharpZipLib.Zip;
 using HeuristicLab.Problems.Instances.TSPLIB;
 
@@ -35,5 +30,8 @@
     }
 
-    public override CVRPData LoadData(string path) {
+    public override bool CanImportData {
+      get { return true; }
+    }
+    public override CVRPData ImportData(string path) {
       return LoadInstance(new TSPLIBParser(path));
     }
Index: trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/TaillardFormat/TaillardFormatInstanceProvider.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/TaillardFormat/TaillardFormatInstanceProvider.cs	(revision 8180)
+++ trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/TaillardFormat/TaillardFormatInstanceProvider.cs	(revision 8192)
@@ -20,12 +20,5 @@
 #endregion
 
-using System;
-using System.Collections.Generic;
 using System.IO;
-using System.Linq;
-using System.Reflection;
-using System.Text.RegularExpressions;
-using ICSharpCode.SharpZipLib.Zip;
-using HeuristicLab.Problems.Instances.TSPLIB;
 
 namespace HeuristicLab.Problems.Instances.VehicleRouting {
@@ -35,5 +28,8 @@
     }
 
-    public override CVRPData LoadData(string path) {
+    public override bool CanImportData {
+      get { return true; }
+    }
+    public override CVRPData ImportData(string path) {
       return LoadInstance(new TaillardParser(path));
     }
Index: trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/VRPInstanceProvider.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/VRPInstanceProvider.cs	(revision 8180)
+++ trunk/sources/HeuristicLab.Problems.Instances.VehicleRouting/3.4/VRPInstanceProvider.cs	(revision 8192)
@@ -107,10 +107,14 @@
     protected abstract T LoadData(Stream stream);
 
-    public IVRPData LoadData(string vrpFile, string tourFile) {
-      var data = LoadData(vrpFile);
+    public IVRPData Import(string vrpFile, string tourFile) {
+      var data = ImportData(vrpFile);
       if (!String.IsNullOrEmpty(tourFile)) {
         LoadSolution(tourFile, data);
       }
       return data;
+    }
+
+    public void Export(IVRPData instance, string path) {
+      ExportData((T)instance, path);
     }
 
