Index: branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/IDataGridContent.cs
===================================================================
--- branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/IDataGridContent.cs	(revision 10804)
+++ branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/IDataGridContent.cs	(revision 10809)
@@ -25,5 +25,5 @@
   public interface IDataGridContent : IStringConvertibleMatrix {
     IDataGridLogic DataGridLogic { get; }
-    IManipulationLogic PreprocessingDataManipulation { get; }
+    IManipulationLogic ManipulationLogic { get; }
     IFilterLogic FilterLogic { get; }
 
Index: branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/IManipulationLogic.cs
===================================================================
--- branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/IManipulationLogic.cs	(revision 10804)
+++ branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/IManipulationLogic.cs	(revision 10809)
@@ -28,9 +28,9 @@
     void ReOrderToIndices(IList<Tuple<int, int>> indices);
     void ShuffleToIndices(IList<System.Tuple<int, int>> indices);
-    void ReplaceIndicesByAverageValue(IDictionary<int, IList<int>> cells);
+    void ReplaceIndicesByAverageValue(IDictionary<int, IList<int>> cells, bool considerSelection);
     void ReplaceIndicesByLinearInterpolationOfNeighbours(IDictionary<int, IList<int>> cells);
-    void ReplaceIndicesByMedianValue(IDictionary<int, IList<int>> cells);
-    void ReplaceIndicesByMostCommonValue(IDictionary<int, IList<int>> cells);
-    void ReplaceIndicesByRandomValue(IDictionary<int, IList<int>> cells);
+    void ReplaceIndicesByMedianValue(IDictionary<int, IList<int>> cells, bool considerSelection);
+    void ReplaceIndicesByMostCommonValue(IDictionary<int, IList<int>> cells, bool considerSelection);
+    void ReplaceIndicesByRandomValue(IDictionary<int, IList<int>> cells, bool considerSelection);
     void ReplaceIndicesByValue(IDictionary<int, IList<int>> cells, string value);
     void ReplaceIndicesByValue<T>(int columnIndex, IEnumerable<int> rowIndices, T value);
Index: branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/IPreprocessingData.cs
===================================================================
--- branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/IPreprocessingData.cs	(revision 10804)
+++ branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/IPreprocessingData.cs	(revision 10809)
@@ -37,6 +37,6 @@
 
     [Obsolete("use the index based variant, is faster")]
-    IList<T> GetValues<T>(string variableName);
-    IList<T> GetValues<T>(int columnIndex);
+    IList<T> GetValues<T>(string variableName, bool considerSelection);
+    IList<T> GetValues<T>(int columnIndex, bool considerSelection);
 
     void SetValues<T>(int columnIndex, IList<T> values);
Index: branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/ISearchLogic.cs
===================================================================
--- branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/ISearchLogic.cs	(revision 10804)
+++ branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/ISearchLogic.cs	(revision 10809)
@@ -39,5 +39,5 @@
     bool IsMissingValue(int columnIndex, int rowIndex);
 
-    IEnumerable<T> GetValuesWithoutNaN<T>(int columnIndex);
+    IEnumerable<T> GetValuesWithoutNaN<T>(int columnIndex, bool considerSelection);
   }
 }
Index: branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/IStatisticsLogic.cs
===================================================================
--- branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/IStatisticsLogic.cs	(revision 10804)
+++ branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Interfaces/IStatisticsLogic.cs	(revision 10809)
@@ -33,15 +33,15 @@
     int GetRowMissingValueCount(int rowIndex);
 
-    T GetMin<T>(int columnIndex) where T : IComparable<T>;
-    T GetMax<T>(int columnIndex) where T : IComparable<T>;
+    T GetMin<T>(int columnIndex, bool considerSelection) where T : IComparable<T>;
+    T GetMax<T>(int columnIndex, bool considerSelection) where T : IComparable<T>;
 
-    double GetMedian(int columnIndex);
-    double GetAverage(int columnIndex);
-    DateTime GetMedianDateTime(int columnIndex);
-    DateTime GetAverageDateTime(int columnIndex);
+    double GetMedian(int columnIndex, bool considerSelection);
+    double GetAverage(int columnIndex, bool considerSelection);
+    DateTime GetMedianDateTime(int columnIndex, bool considerSelection);
+    DateTime GetAverageDateTime(int columnIndex, bool considerSelection);
 
     double GetStandardDeviation(int columnIndex);
     double GetVariance(int columnIndex);
-    T GetMostCommonValue<T>(int columnIndex);
+    T GetMostCommonValue<T>(int columnIndex, bool considerSelection);
     int GetDifferentValuesCount<T>(int columnIndex);
 
