diff --git a/src/caoscrawler/converters.py b/src/caoscrawler/converters.py
index e0ca0f9bff77ba1ecc63f4d102d6d9869fb11cb0..d28d1d53819ba8fe400bcfe036703bb5686bc47f 100644
--- a/src/caoscrawler/converters.py
+++ b/src/caoscrawler/converters.py
@@ -34,7 +34,7 @@ import warnings
 from abc import ABCMeta, abstractmethod
 from inspect import signature
 from string import Template
-from typing import Any, List, Optional, Tuple, Union
+from typing import Any, Optional, Union
 
 import linkahead as db
 import pandas as pd
@@ -134,8 +134,8 @@ def replace_variables(propvalue: Any, values: GeneralStore):
     This function replaces variables in property values (and possibly other locations,
     where the crawler can replace cfood-internal variables).
 
-    If `propvalue` is a single variable name preceeded with a '$' (e.g. '$var' or '${var}'), then
-    the corresponding value stored in `values` is returned.
+    If ``propvalue`` is a single variable name preceeded by a ``$`` (e.g. ``$var`` or ``${var}``),
+    then the corresponding value stored in ``values`` is returned.
     In any other case the variable substitution is carried out as defined by string templates
     and a new string with the replaced variables is returned.
     """
@@ -160,16 +160,16 @@ def handle_value(value: Union[dict, str, list], values: GeneralStore):
     add as an additional property (multiproperty).
 
     Variable names (starting with a "$") are replaced by the corresponding value stored in the
-    `values` GeneralStore.
+    ``values`` GeneralStore.
 
 Parameters
 ----------
 
-value:
-  - if str, the value to be interpreted. E.g. "4", "hallo" or "$a" etc.
-  - if dict, must have keys "value" and "collection_mode". The returned tuple is directly
+value: Union[dict, str, list]
+  - If *str*, the value to be interpreted. E.g. "4", "hello" or "$a" etc.
+  - If *dict*, must have keys ``value`` and ``collection_mode``. The returned tuple is directly
     created from the corresponding values.
-  - if list, each element is checked for replacement and the resulting list will be used
+  - If *list*, each element is checked for replacement and the resulting list will be used
     as (list) value for the property
 
 Returns
@@ -181,7 +181,7 @@ out: tuple
     """
     # @review Florian Spreckelsen 2022-05-13
 
-    if type(value) == dict:
+    if isinstance(value, dict):
         if "value" not in value:
             # TODO: how do we handle this case? Just ignore?
             #       or disallow?
@@ -189,7 +189,7 @@ out: tuple
         propvalue = value["value"]
         # can be "single", "list" or "multiproperty"
         collection_mode = value["collection_mode"]
-    elif type(value) == str:
+    elif isinstance(value, str):
         propvalue = value
         collection_mode = "single"
         if propvalue.startswith("+"):
@@ -198,7 +198,7 @@ out: tuple
         elif propvalue.startswith("*"):
             collection_mode = "multiproperty"
             propvalue = propvalue[1:]
-    elif type(value) == list:
+    elif isinstance(value, list):
         # TODO: (for review)
         #       This is a bit dirty right now and needed for
         #       being able to directly set list values. Semantics is, however, a bit
@@ -209,7 +209,7 @@ out: tuple
         propvalue = list()
         for element in value:
             # Do the element-wise replacement only, when its type is string:
-            if type(element) == str:
+            if isinstance(element, str):
                 propvalue.append(replace_variables(element, values))
             else:
                 propvalue.append(element)
@@ -322,10 +322,12 @@ class Converter(object, metaclass=ABCMeta):
 
         Parameters
         ----------
-        definition: dict, Please refer to ``src/doc/converters.rst`` to learn about the structure
-                    that the definition dict must have.
-        converter_registry: dict, A dictionary that contains converter names as keys and dicts as
-                            values. Those value dicts have the keys 'converter' and 'package'.
+        definition: dict
+          Please refer to ``src/doc/converters.rst`` to learn about the structure that the
+          definition dict must have.
+        converter_registry: dict
+          A dictionary that contains converter names as keys and dicts as values. Those value dicts
+          have the keys 'converter' and 'package'.
         """
 
         self.definition = definition
@@ -424,7 +426,7 @@ class Converter(object, metaclass=ABCMeta):
                 pass
         """
 
-        if not "transform" in self.definition:
+        if "transform" not in self.definition:
             return
         for transformer_key, transformer in self.definition["transform"].items():
             in_value = replace_variables(transformer["in"], values)
@@ -460,8 +462,7 @@ class Converter(object, metaclass=ABCMeta):
             values[match.group('varname')] = out_value
 
     @abstractmethod
-    def create_children(self, values: GeneralStore,
-                        element: StructureElement):
+    def create_children(self, values: GeneralStore, element: StructureElement):
         pass
 
     def create_records(self, values: GeneralStore, records: RecordStore,
@@ -477,7 +478,7 @@ class Converter(object, metaclass=ABCMeta):
                               self.definition["records"])
 
     def filter_children(self, children_with_strings:
-                        List[Tuple[StructureElement, str]], expr: str,
+                        list[tuple[StructureElement, str]], expr: str,
                         group: str, rule: str):
         """Filter children according to regexp `expr` and `rule`."""
 
@@ -620,7 +621,7 @@ class DirectoryConverter(Converter):
 
         element: A directory (of type Directory) which will be traversed.
         """
-        children: List[StructureElement] = []
+        children: list[StructureElement] = []
 
         for name in sorted(os.listdir(element.path)):
             path = os.path.join(element.path, name)
@@ -660,7 +661,7 @@ class SimpleFileConverter(Converter):
 class FileConverter(SimpleFileConverter):
     def __init__(self, *args, **kwargs):
         warnings.warn(DeprecationWarning(
-            "This class is depricated. Please use SimpleFileConverter."))
+            "This class is deprecated. Please use SimpleFileConverter."))
         super().__init__(*args, **kwargs)
 
 
@@ -693,12 +694,12 @@ class MarkdownFileConverter(SimpleFileConverter):
                 "Error during the validation (yaml header cannot be read) of the markdown file "
                 "located at the following node in the data structure:\n"
                 "{}\nError:\n{}".format(path, err))
-        children: List[StructureElement] = []
+        children: list[StructureElement] = []
 
         for name, entry in header.items():
-            if type(entry) == list:
+            if isinstance(entry, list):
                 children.append(ListElement(name, entry))
-            elif type(entry) == str:
+            elif isinstance(entry, str):
                 children.append(TextElement(name, entry))
             else:
                 if generalStore is not None and self.name in generalStore:
@@ -814,14 +815,14 @@ class DictElementConverter(Converter):
 class DictConverter(DictElementConverter):
     def __init__(self, *args, **kwargs):
         warnings.warn(DeprecationWarning(
-            "This class is depricated. Please use DictConverter."))
+            "This class is deprecated. Please use DictConverter."))
         super().__init__(*args, **kwargs)
 
 
 class DictDictElementConverter(DictElementConverter):
     def __init__(self, *args, **kwargs):
         warnings.warn(DeprecationWarning(
-            "This class is depricated. Please use DictElementConverter."))
+            "This class is deprecated. Please use DictElementConverter."))
         super().__init__(*args, **kwargs)
 
 
@@ -1009,7 +1010,7 @@ class BooleanElementConverter(_AbstractScalarValueElementConverter):
 class DictBooleanElementConverter(BooleanElementConverter):
     def __init__(self, *args, **kwargs):
         warnings.warn(DeprecationWarning(
-            "This class is depricated. Please use BooleanElementConverter."))
+            "This class is deprecated. Please use BooleanElementConverter."))
         super().__init__(*args, **kwargs)
 
 
@@ -1025,7 +1026,7 @@ class FloatElementConverter(_AbstractScalarValueElementConverter):
 class DictFloatElementConverter(FloatElementConverter):
     def __init__(self, *args, **kwargs):
         warnings.warn(DeprecationWarning(
-            "This class is depricated. Please use FloatElementConverter."))
+            "This class is deprecated. Please use FloatElementConverter."))
         super().__init__(*args, **kwargs)
 
 
@@ -1050,7 +1051,7 @@ the 'match_value' key to match the value of the TextElement and 'match_name' for
 class DictTextElementConverter(TextElementConverter):
     def __init__(self, *args, **kwargs):
         warnings.warn(DeprecationWarning(
-            "This class is depricated. Please use TextElementConverter."))
+            "This class is deprecated. Please use TextElementConverter."))
         super().__init__(*args, **kwargs)
 
 
@@ -1066,7 +1067,7 @@ class IntegerElementConverter(_AbstractScalarValueElementConverter):
 class DictIntegerElementConverter(IntegerElementConverter):
     def __init__(self, *args, **kwargs):
         warnings.warn(DeprecationWarning(
-            "This class is depricated. Please use IntegerElementConverter."))
+            "This class is deprecated. Please use IntegerElementConverter."))
         super().__init__(*args, **kwargs)
 
 
@@ -1108,7 +1109,7 @@ class ListElementConverter(Converter):
 class DictListElementConverter(ListElementConverter):
     def __init__(self, *args, **kwargs):
         warnings.warn(DeprecationWarning(
-            "This class is depricated. Please use ListElementConverter."))
+            "This class is deprecated. Please use ListElementConverter."))
         super().__init__(*args, **kwargs)