Index: /branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/DataPreprocessingView.cs
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/DataPreprocessingView.cs	(revision 10219)
+++ /branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/DataPreprocessingView.cs	(revision 10220)
@@ -25,16 +25,23 @@
     private void button1_Click(object sender, System.EventArgs e) {
 
+      IPreprocessingData Data = Content.Data;
 
-      /*
-      DataAnalysisProblemData problemData = Content;
-      Dataset ds = problemData.Dataset;
-      for (int i = 0; i < ds.Columns; i++) {
-        for (int j = 0; j < ds.Rows; j++) {
-          ds.SetValue("1,0", j, i);
+      foreach (string variable in Data.VariableNames) {
+        for (int j = 0; j < Data.Rows; j++) {
+          // assume: all double
+          Data.SetCell(variable, j, 1.0);
         }
       }
 
-      MessageBox.Show("Success ;)");
-      */
+      MessageBox.Show("Success, now cloning... ");
+
+
+      //Dataset ds = Data.ExportToDataset();
+      //var cloner = new Cloner();
+
+      //cloner.RegisterClonedObject()
+
+      //var clone = null;
+
     }
   }
Index: /branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/PreprocessingData.cs
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/PreprocessingData.cs	(revision 10219)
+++ /branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/PreprocessingData.cs	(revision 10220)
@@ -26,6 +26,6 @@
 using HeuristicLab.Common;
 using HeuristicLab.Core;
+using HeuristicLab.Data;
 using HeuristicLab.Problems.DataAnalysis;
-using HeuristicLab.Data;
 
 namespace HeuristicLab.DataPreprocessing {
@@ -42,5 +42,5 @@
 
     private double trainingToTestRatio;
-  
+
     private PreprocessingData(PreprocessingData original, Cloner cloner)
       : base(original, cloner) {
@@ -109,5 +109,5 @@
     public IEnumerable<T> GetValues<T>(string variableName) {
       // TODO: test if cast is valid
-      return (IEnumerable<T>)variableValues[variableName]; 
+      return (IEnumerable<T>)variableValues[variableName];
     }
 
@@ -183,8 +183,22 @@
         return GetValues<string>(variableName).Select((s, i) => new { i, s }).Where(t => string.IsNullOrEmpty(t.s)).Select(t => t.i);
       } else if (IsType<DateTime>(variableName)) {
-          return GetValues<DateTime>(variableName).Select((s, i) => new { i, s }).Where(t => t.s.Equals(DateTime.MinValue)).Select(t => t.i);
+        return GetValues<DateTime>(variableName).Select((s, i) => new { i, s }).Where(t => t.s.Equals(DateTime.MinValue)).Select(t => t.i);
       } else {
         throw new ArgumentException("column with variableName: " + variableName + " contains a non supported type.");
       }
+    }
+
+    #endregion
+
+    #region IPreprocessingData Members
+
+    public Dataset ExportToDataset() {
+      IList<IList> values = new List<IList>();
+      foreach (var variable in VariableNames) {
+        values.Add(variableValues[variable]);
+      }
+
+      var dataset = new Dataset(variableNames, values);
+      return dataset;
     }
 
Index: /branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/IPreprocessingData.cs
===================================================================
--- /branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/IPreprocessingData.cs	(revision 10219)
+++ /branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/IPreprocessingData.cs	(revision 10220)
@@ -22,6 +22,6 @@
 using System.Collections.Generic;
 using HeuristicLab.Core;
+using HeuristicLab.Data;
 using HeuristicLab.Problems.DataAnalysis;
-using HeuristicLab.Data;
 
 namespace HeuristicLab.DataPreprocessing {
@@ -36,7 +36,4 @@
     void InsertRow(int rowIndex);
     void DeleteRow(int rowIndex);
-
-    IntRange TrainingPartition { get; }
-    IntRange TestPartition { get; }
 
     void InsertColumn<T>(string variableName, int columnIndex);
@@ -63,4 +60,6 @@
 
     bool IsMissingValue(string variableName, int rowIndex);
+
+    Dataset ExportToDataset();
   }
 }
