diff --git a/src/caoscrawler/converters/converters.py b/src/caoscrawler/converters/converters.py
index 0320ae101c218ce949172445e54f003c194e5fc5..6e3c8ffe6a9d73fbf7b0a4b7bdc357cfd371a83a 100644
--- a/src/caoscrawler/converters/converters.py
+++ b/src/caoscrawler/converters/converters.py
@@ -507,11 +507,14 @@ class Converter(object, metaclass=ABCMeta):
                 matched_m_prop = None
                 matched_m_prop_value = None
                 for prop_key, prop_value in properties.items():
-                    m_prop = re.match(prop_def_key, prop_key)
+                    print("{} = {}".format(prop_key, prop_value))
+                    # TODO: automatic conversion to str ok?
+                    m_prop = re.match(prop_def_key, str(prop_key))
                     if m_prop is not None:
                         match_counter += 1
                         matched_m_prop = m_prop
-                        m_prop_value = re.match(prop_def_value, prop_value)
+                        # TODO: automatic conversion to str ok?
+                        m_prop_value = re.match(prop_def_value, str(prop_value))
                         if m_prop_value is None:
                             return False
                         matched_m_prop_value = m_prop_value
@@ -952,7 +955,7 @@ class DictElementConverter(Converter):
             raise RuntimeError("Element must be a DictElement.")
         vardict = match_name_and_value(self.definition, element.name, element.value)
 
-        if not self.match_properties(element.value.items(), vardict):
+        if not self.match_properties(element.value, vardict):
             return None
 
         return vardict