diff --git a/cml/ports/source_adapters.py b/cml/ports/source_adapters.py
index 073601f2805df3fa746d71b79a872047e91e6e48..3f01a432ee08687e81d6eddaf46512d698a305a7 100644
--- a/cml/ports/source_adapters.py
+++ b/cml/ports/source_adapters.py
@@ -88,6 +88,13 @@ class PandasAdapter:
         data_frame = pd.read_csv(path)
         return PandasAdapter(data_frame)
 
+    @property
+    def length(self):
+        return len(self.__data_frame)
+
+    def get_block(self, start, end=None, step=None):
+        return PandasBlock(self.__data_frame[start:end:step])
+
     def get_column_values(self, column_name):
         return self.__data_frame[column_name]
 
@@ -95,7 +102,7 @@ class PandasAdapter:
         return self.__data_frame[column_name].tolist()
 
     def get_columns(self):
-        return self.__data_frame.columns
+        return list(self.__data_frame.columns)
 
     def drop_column_by_index(self, index):
         column = self.get_column_name_by_index(index)
@@ -105,7 +112,7 @@ class PandasAdapter:
         self.__data_frame.drop(columns=[name], inplace=True)
 
     def get_column_index_by_name(self, name):
-        return self.__data_frame.get_loc(name)
+        return self.__data_frame.columns.get_loc(name)
 
     def get_column_name_by_index(self, index):
         column_names = self.__data_frame.columns