diff --git a/src/parser_factory.py b/src/parser_factory.py
index 226234bac91d46851b770301f14d49a13f9822c9..812d95cad35b4715a88e217e520a16fff8d1f61a 100644
--- a/src/parser_factory.py
+++ b/src/parser_factory.py
@@ -4,6 +4,10 @@ import pkgutil
 
 from . import abstract
 
+from typing import Type, TypeVar
+
+T = TypeVar('T', bound='abstract.AbstractParser')
+
 for module_loader, name, ispkg in pkgutil.walk_packages('.src'):
     if not name.startswith('src.'):
         continue
@@ -11,10 +15,9 @@ for module_loader, name, ispkg in pkgutil.walk_packages('.src'):
         continue
     importlib.import_module(name)
 
-def get_parser(filename: str):
+def get_parser(filename: str) -> (T, str):
     mtype, _ = mimetypes.guess_type(filename)
     for c in abstract.AbstractParser.__subclasses__():
         if mtype in c.mimetypes:
             return c(filename), mtype
-    print('factory: %s is not supported' % mtype)
     return None, mtype