diff --git a/src/doc/tutorials/single_file.rst b/src/doc/tutorials/single_file.rst
index 86dcc793f8e4fb26efc3d4460d798dd2eac10796..21b4dcd41db26fe7b6a3ef3d3ed4a46202f71ff5 100644
--- a/src/doc/tutorials/single_file.rst
+++ b/src/doc/tutorials/single_file.rst
@@ -52,23 +52,25 @@ And we will use the following crawler configuration.
     crawler-version: 0.9.1
   ---
 
-  fish_data_file:
+  fish_data_file:  # Root file
     type: CSVTableConverter
-    match: "^fish_data_.*.csv$"  # CSV file with a name that starts with "fish_data_"
+    match: "^fish_data_.*.csv$"  # Match CSV file with a name that starts with "fish_data_"
     sep: ";"
     subtree:
-      table_row:  # Eine Zeile in der Datei
+      table_row:  # One row in the CSV file
 	type: DictElement
-	match_name: .* # we want to treat every row
+	match_name: .* # we want to treat every row, so match anything
 	match_value: .*
 	records:
 	  Fish:  # Record for the current row; information from statements below
 		 # are added to this Record
 	subtree:
-	  date:  # Spalte mit Art der Maßnahme
+	  date:  # Element for the date column
 	    type: TextElement
 	    match_name: date  # Name of the column in the table file
-	    match_value: (?P<column_value>.*)
+	    match_value: (?P<column_value>.*)  # We match any value of the row in this
+	                                       # column and assign it to the ``column_value``
+					       # variable
 	    records:  # Records edited for each cell
 	      Fish:
 		date: $column_value