Index: stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/CordeauFormat/CordeauFormatInstanceProvider.cs
===================================================================
--- stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/CordeauFormat/CordeauFormatInstanceProvider.cs	(revision 11173)
+++ stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/CordeauFormat/CordeauFormatInstanceProvider.cs	(revision 11333)
@@ -23,6 +23,6 @@
 
 namespace HeuristicLab.Problems.Instances.VehicleRouting {
-  public abstract class CordeauFormatInstanceProvider : VRPInstanceProvider {
-    protected override VRPData LoadData(Stream stream) {
+  public abstract class CordeauFormatInstanceProvider : VRPInstanceProvider<MDCVRPTWData> {
+    protected override MDCVRPTWData LoadData(Stream stream) {
       return LoadInstance(new CordeauParser(stream));
     }
@@ -31,5 +31,5 @@
       get { return true; }
     }
-    public override VRPData ImportData(string path) {
+    public override MDCVRPTWData ImportData(string path) {
       return LoadInstance(new CordeauParser(path));
     }
Index: stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/GoldenFormat/ChristofidesInstanceProvider.cs
===================================================================
--- stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/GoldenFormat/ChristofidesInstanceProvider.cs	(revision 11173)
+++ stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/GoldenFormat/ChristofidesInstanceProvider.cs	(revision 11333)
@@ -21,10 +21,4 @@
 
 using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Reflection;
-using System.Text.RegularExpressions;
-using ICSharpCode.SharpZipLib.Zip;
 
 namespace HeuristicLab.Problems.Instances.VehicleRouting {
@@ -37,7 +31,7 @@
       get { return "Christofides test set"; }
     }
-    
+
     public override Uri WebLink {
-      get { return new Uri(@"http://www.rhsmith.umd.edu/faculty/bgolden/vrp_data.htm"); }
+      get { return new Uri(@"http://www.terpconnect.umd.edu/~bgolden/vrp_data.htm"); }
     }
 
Index: stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/GoldenFormat/GoldenFormatInstanceProvider.cs
===================================================================
--- stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/GoldenFormat/GoldenFormatInstanceProvider.cs	(revision 11173)
+++ stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/GoldenFormat/GoldenFormatInstanceProvider.cs	(revision 11333)
@@ -24,6 +24,6 @@
 
 namespace HeuristicLab.Problems.Instances.VehicleRouting {
-  public abstract class GoldenFormatInstanceProvider : VRPInstanceProvider {
-    protected override VRPData LoadData(Stream stream) {
+  public abstract class GoldenFormatInstanceProvider : VRPInstanceProvider<CVRPTWData> {
+    protected override CVRPTWData LoadData(Stream stream) {
       return LoadInstance(new GoldenParser(stream));
     }
@@ -32,5 +32,5 @@
       get { return true; }
     }
-    public override VRPData ImportData(string path) {
+    public override CVRPTWData ImportData(string path) {
       return LoadInstance(new GoldenParser(path));
     }
Index: stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/GoldenFormat/GoldenInstanceProvider.cs
===================================================================
--- stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/GoldenFormat/GoldenInstanceProvider.cs	(revision 11173)
+++ stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/GoldenFormat/GoldenInstanceProvider.cs	(revision 11333)
@@ -21,10 +21,4 @@
 
 using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Reflection;
-using System.Text.RegularExpressions;
-using ICSharpCode.SharpZipLib.Zip;
 
 namespace HeuristicLab.Problems.Instances.VehicleRouting {
@@ -37,7 +31,7 @@
       get { return "Golden test set"; }
     }
-    
+
     public override Uri WebLink {
-      get { return new Uri(@"http://www.rhsmith.umd.edu/faculty/bgolden/vrp_data.htm"); }
+      get { return new Uri(@"http://www.terpconnect.umd.edu/~bgolden/vrp_data.htm"); }
     }
 
Index: stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/GoldenFormat/KytojokiInstanceProvider.cs
===================================================================
--- stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/GoldenFormat/KytojokiInstanceProvider.cs	(revision 11173)
+++ stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/GoldenFormat/KytojokiInstanceProvider.cs	(revision 11333)
@@ -21,10 +21,4 @@
 
 using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Reflection;
-using System.Text.RegularExpressions;
-using ICSharpCode.SharpZipLib.Zip;
 
 namespace HeuristicLab.Problems.Instances.VehicleRouting {
@@ -37,7 +31,7 @@
       get { return "Kytojoki test set"; }
     }
-    
+
     public override Uri WebLink {
-      get { return new Uri(@"http://www.rhsmith.umd.edu/faculty/bgolden/vrp_data.htm"); }
+      get { return new Uri(@"http://www.terpconnect.umd.edu/~bgolden/vrp_data.htm"); }
     }
 
Index: stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/LiLimFormat/LiLimFormatInstanceProvider.cs
===================================================================
--- stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/LiLimFormat/LiLimFormatInstanceProvider.cs	(revision 11173)
+++ stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/LiLimFormat/LiLimFormatInstanceProvider.cs	(revision 11333)
@@ -23,6 +23,6 @@
 
 namespace HeuristicLab.Problems.Instances.VehicleRouting {
-  public abstract class LiLimFormatInstanceProvider : VRPInstanceProvider {
-    protected override VRPData LoadData(Stream stream) {
+  public abstract class LiLimFormatInstanceProvider : VRPInstanceProvider<PDPTWData> {
+    protected override PDPTWData LoadData(Stream stream) {
       return LoadInstance(new LiLimParser(stream));
     }
@@ -31,5 +31,5 @@
       get { return true; }
     }
-    public override VRPData ImportData(string path) {
+    public override PDPTWData ImportData(string path) {
       return LoadInstance(new LiLimParser(path));
     }
Index: stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/SolomonFormat/SolomonFormatInstanceProvider.cs
===================================================================
--- stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/SolomonFormat/SolomonFormatInstanceProvider.cs	(revision 11173)
+++ stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/SolomonFormat/SolomonFormatInstanceProvider.cs	(revision 11333)
@@ -23,6 +23,6 @@
 
 namespace HeuristicLab.Problems.Instances.VehicleRouting {
-  public abstract class SolomonFormatInstanceProvider : VRPInstanceProvider {
-    protected override VRPData LoadData(Stream stream) {
+  public abstract class SolomonFormatInstanceProvider : VRPInstanceProvider<CVRPTWData> {
+    protected override CVRPTWData LoadData(Stream stream) {
       return LoadInstance(new SolomonParser(stream));
     }
@@ -31,5 +31,5 @@
       get { return true; }
     }
-    public override VRPData ImportData(string path) {
+    public override CVRPTWData ImportData(string path) {
       return LoadInstance(new SolomonParser(path));
     }
Index: stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/TSPLibFormat/TSPLibFormatInstanceProvider.cs
===================================================================
--- stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/TSPLibFormat/TSPLibFormatInstanceProvider.cs	(revision 11173)
+++ stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/TSPLibFormat/TSPLibFormatInstanceProvider.cs	(revision 11333)
@@ -25,6 +25,6 @@
 
 namespace HeuristicLab.Problems.Instances.VehicleRouting {
-  public abstract class TSPLibFormatInstanceProvider : VRPInstanceProvider {
-    protected override VRPData LoadData(Stream stream) {
+  public abstract class TSPLibFormatInstanceProvider : VRPInstanceProvider<CVRPData> {
+    protected override CVRPData LoadData(Stream stream) {
       return LoadInstance(new TSPLIBParser(stream));
     }
@@ -33,5 +33,5 @@
       get { return true; }
     }
-    public override VRPData ImportData(string path) {
+    public override CVRPData ImportData(string path) {
       return LoadInstance(new TSPLIBParser(path));
     }
Index: stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/TaillardFormat/TaillardFormatInstanceProvider.cs
===================================================================
--- stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/TaillardFormat/TaillardFormatInstanceProvider.cs	(revision 11173)
+++ stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/TaillardFormat/TaillardFormatInstanceProvider.cs	(revision 11333)
@@ -23,6 +23,6 @@
 
 namespace HeuristicLab.Problems.Instances.VehicleRouting {
-  public abstract class TaillardFormatInstanceProvider : VRPInstanceProvider {
-    protected override VRPData LoadData(Stream stream) {
+  public abstract class TaillardFormatInstanceProvider : VRPInstanceProvider<CVRPData> {
+    protected override CVRPData LoadData(Stream stream) {
       return LoadInstance(new TaillardParser(stream));
     }
@@ -31,5 +31,5 @@
       get { return true; }
     }
-    public override VRPData ImportData(string path) {
+    public override CVRPData ImportData(string path) {
       return LoadInstance(new TaillardParser(path));
     }
Index: stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/VRPInstanceProvider.cs
===================================================================
--- stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/VRPInstanceProvider.cs	(revision 11173)
+++ stable/HeuristicLab.Problems.Instances.VehicleRouting/3.4/VRPInstanceProvider.cs	(revision 11333)
@@ -29,5 +29,5 @@
 
 namespace HeuristicLab.Problems.Instances.VehicleRouting {
-  public abstract class VRPInstanceProvider : ProblemInstanceProvider<VRPData>, IVRPInstanceProvider {
+  public abstract class VRPInstanceProvider<T> : ProblemInstanceProvider<T>, IVRPInstanceProvider where T : IVRPData {
     protected abstract string FileName { get; }
 
@@ -52,5 +52,5 @@
     }
 
-    public override VRPData LoadData(IDataDescriptor id) {
+    public override T LoadData(IDataDescriptor id) {
       var descriptor = (VRPDataDescriptor)id;
       var instanceArchiveName = GetResourceName(FileName + @"\.zip");
@@ -76,5 +76,5 @@
     }
 
-    private static void LoadSolution(Stream stream, VRPData instance) {
+    private static void LoadSolution(Stream stream, T instance) {
       List<List<int>> routes = new List<List<int>>();
 
@@ -99,5 +99,5 @@
     }
 
-    public static void LoadSolution(string path, VRPData instance) {
+    public static void LoadSolution(string path, T instance) {
       using (FileStream stream = new FileStream(path, FileMode.Open)) {
         LoadSolution(stream, instance);
@@ -105,5 +105,5 @@
     }
 
-    protected abstract VRPData LoadData(Stream stream);
+    protected abstract T LoadData(Stream stream);
 
     public IVRPData Import(string vrpFile, string tourFile) {
@@ -116,5 +116,5 @@
 
     public void Export(IVRPData instance, string path) {
-      ExportData((VRPData)instance, path);
+      ExportData((T)instance, path);
     }
 
