diff --git a/main.py b/main.py
index c6b4b21e53832cc2686799d0e390ef3805251a3b..de623b2c306d82aee6168fb1a394c7922f50d207 100644
--- a/main.py
+++ b/main.py
@@ -44,21 +44,30 @@ def clean_meta(filename:str):
     if not __check_file(filename, os.R_OK|os.W_OK):
         return
 
-    p, mtype = parser_factory.get_parser(f)
+    p, mtype = parser_factory.get_parser(filename)
     if p is None:
         print("[-] %s's format (%s) is not supported" % (filename, mtype))
         return
     p.remove_all()
 
 def main():
-    args = create_arg_parser().parse_args()
+    arg_parser = create_arg_parser()
+    args = arg_parser.parse_args()
 
     if args.show:
         for f in args.files:
             show_meta(f)
-    else:
+    elif args.list:
+        print('[+] Supported formats:')
+        for parser in parser_factory._get_parsers():
+            for mtype in parser.mimetypes:
+                extensions = ', '.join(mimetypes.guess_all_extensions(mtype))
+                print('  - %s (%s)' % (mtype, extensions))
+    elif args.files:
         for f in args.files:
             clean_meta(f)
+    else:
+        arg_parser.print_help()
 
 
 if __name__ == '__main__':
diff --git a/src/parser_factory.py b/src/parser_factory.py
index 770f17c944ff07f7c15257791a9c92bf8d40fc1a..7ce4246914c3a6c038a765503f931f35c30426ae 100644
--- a/src/parser_factory.py
+++ b/src/parser_factory.py
@@ -16,12 +16,17 @@ for module_loader, name, ispkg in pkgutil.walk_packages('.src'):
         continue
     importlib.import_module(name)
 
+def _get_parsers() -> list:
+    """ Get all our parsers!"""
+    def __get_parsers(cls):
+        return cls.__subclasses__() + \
+            [g for s in cls.__subclasses__() for g in __get_parsers(s)]
+    return __get_parsers(abstract.AbstractParser)
+
 def get_parser(filename: str) -> (T, str):
     mtype, _ = mimetypes.guess_type(filename)
-    def get_subclasses(cls):
-        return cls.__subclasses__() + \
-               [g for s in cls.__subclasses__() for g in get_subclasses(s)]
-    for c in get_subclasses(abstract.AbstractParser):
+
+    for c in _get_parsers():
         if mtype in c.mimetypes:
             return c(filename), mtype
     return None, mtype