diff --git a/core/models.py b/core/models.py
index f5e6e2bf7da6d85b4a8734a5e94154bb4b8cfb12..bc33deec9fe80686c4cbd9eede87d7b3dd087370 100644
--- a/core/models.py
+++ b/core/models.py
@@ -109,10 +109,14 @@ class SubmissionType(models.Model):
 
     C = 'c'
     JAVA = 'java'
+    MIPS = 'mipsasm'
+    HASKELL = 'haskell'
 
     LANGUAGE_CHOICES = (
         (C, 'C syntax highlighting'),
         (JAVA, 'Java syntax highlighting'),
+        (MIPS, 'Mips syntax highlighting'),
+        (HASKELL, 'Haskell syntax highlighting'),
     )
 
     submission_type_id = models.UUIDField(primary_key=True,
diff --git a/util/importer.py b/util/importer.py
index 736591c687f2b0de7f7797f80a2f860fd52d73d9..bbd4c706e13ff79223921386c7489d8979410256 100644
--- a/util/importer.py
+++ b/util/importer.py
@@ -163,13 +163,24 @@ def call_loader(func: Callable) -> None:
     info(f'{func.__name__} is done.')
 
 
+def file_suffix_to_lang_name(suffix: str) -> str:
+    suffix2name = {
+        'hs': 'haskell',
+        's': 'mipsasm'
+    }
+    if suffix not in suffix2name:
+        return suffix
+    return suffix2name[suffix]
+
+
 def do_load_submission_types():
 
     print(
         '''For the following import you need three files:
 
-    1) A .csv file where the columns are: id, name, score, (suffix). No
+    1) A .csv file where the columns are: id, name, score, (file suffix). No
        suffix defaults to .c
+       Supported suffixes: .c , .java , .hs , .s (for mips)
     2) A path to a directory where I can find sample solutions named
         <id>-lsg.c
     3) A path to a directory where I can find HTML files with an accurate
@@ -204,17 +215,18 @@ def do_load_submission_types():
             csv_rows = [row for row in csv.reader(tfile)]
 
         for row in csv_rows:
-            tid, name, score, *lang = (col.strip() for col in row)
+            tid, name, score, *suffix = (col.strip() for col in row)
 
-            if not lang:
-                lang = '.c'
+            if not suffix:
+                suffix = '.c'
             else:
-                lang = lang[0]
+                suffix = suffix[0]
 
-            lang = lang.lower().strip('.')
+            suffix = suffix.lower().strip('.')
+            lang_name = file_suffix_to_lang_name(suffix)
 
             with \
-                open(os.path.join(lsg_dir, tid + '.' + lang),
+                open(os.path.join(lsg_dir, tid + '.' + suffix),
                      encoding='utf-8') as lsg, \
                 open(os.path.join(desc_dir, tid + '.html'),
                      encoding='utf-8') as desc:
@@ -223,7 +235,7 @@ def do_load_submission_types():
                     'description': desc.read(),
                     'solution': lsg.read(),
                     'full_score': int(score),
-                    'programming_language': lang
+                    'programming_language': lang_name
                 }
             _, created = SubmissionType.objects.update_or_create(
                 name=name,