diff --git a/setup.py b/setup.py
index 453ae6df37568b9dec7a5724daf70e1605a90e65..18baff22a907baf6a99be0f351c770f39151f966 100644
--- a/setup.py
+++ b/setup.py
@@ -13,11 +13,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
 
 setuptools.setup(
     name="coursebox",
-<<<<<<< HEAD
-    version="0.1.20.2",
-=======
-    version="0.1.20.3",
->>>>>>> 47e544f39ea04a5f82e9d153ffd8bd57a6f553e9
+    version="0.1.20.5",
     author="Tue Herlau",
     author_email="tuhe@dtu.dk",
     description="A course management system currently used at DTU",
diff --git a/src/coursebox/material/homepage_lectures_exercises.py b/src/coursebox/material/homepage_lectures_exercises.py
index 3c6d8a3829fea31387bf957ddae1e9c0940f33a7..e838cdd6511dbb24928115272b7d91a14d587659 100644
--- a/src/coursebox/material/homepage_lectures_exercises.py
+++ b/src/coursebox/material/homepage_lectures_exercises.py
@@ -83,7 +83,7 @@ def get_feedback_groups(): # This is really getting deprecated...
 PRESENTATION = 0
 NOTES = 1
 HANDOUT = 2
-def make_lectures(week=None, mode=0, gather_pdf_out=True, gather_sixup=True, make_quizzes=True, dosvg=False, async_pool=-1):
+def make_lectures(week=None, mode=0, gather_pdf_out=True, gather_sixup=True, make_quizzes=True, dosvg=False, async_pool=-1, compress_pdf=False):
     """
     Mode determines what is compiled into the pdfs. It can be:
 
@@ -115,7 +115,7 @@ def make_lectures(week=None, mode=0, gather_pdf_out=True, gather_sixup=True, mak
     if async_pool <= 1:
         all_pdfs = []
         for lecture in lectures_to_compile: #info['lectures']:
-            pdf_out = _compile_single_lecture(dosvg=dosvg, lecture=lecture, make_quizzes=make_quizzes, mode=mode)
+            pdf_out = _compile_single_lecture(dosvg=dosvg, lecture=lecture, make_quizzes=make_quizzes, mode=mode, compress_pdf=compress_pdf)
             all_pdfs.append( (lecture['number'], pdf_out))
     else:
         # Do the async here.
@@ -205,11 +205,11 @@ def _setup_lecture_info(lecture, mode, dosvg, make_quizzes):
     return lecture_texfile
     pass
 
-def _compile_single_lecture(dosvg, lecture, make_quizzes, mode):
+def _compile_single_lecture(dosvg, lecture, make_quizzes, mode, compress_pdf=False):
     lecture_texfile = _setup_lecture_info(lecture, mode, dosvg, make_quizzes)
     # Fix questions for this lecture
     try:
-        pdf_out = slider.latexmk(lecture_texfile)
+        pdf_out = slider.latexmk(lecture_texfile, compress_pdf=compress_pdf)
     except Exception as e:
         log = lecture_texfile[:-4] + ".log"
         print("loading log", log)
@@ -374,7 +374,7 @@ def fix_shared(paths, output_dir, pdf2png=False,dosvg=True,verbose=False, compil
     '''
     cache_base = output_dir
     from jinjafy.cache import cache_contains_file, cache_update_file
-    from slider.convert import svg2pdf, pdfcrop
+    from slider.convert import svg2pdf
     from slider import convert
     # import filecmp
 
diff --git a/src/coursebox/material/lecture_questions.py b/src/coursebox/material/lecture_questions.py
index a341461ccf01b4bf9544ce1bc42018d16452125a..07041fe82ba75c313d3891afd8c9a342eb6004c1 100644
--- a/src/coursebox/material/lecture_questions.py
+++ b/src/coursebox/material/lecture_questions.py
@@ -7,7 +7,8 @@ from slider import latexmk
 from coursebox.thtools_base import execute_command
 from slider.slide import slide_no_by_text, recursive_tex_apply
 from slider.legacy_importer import slide_to_image
-
+from slider.convert import pdfcrop
+from slider.convert import pdf2png
 
 def lecture_question_compiler(paths, info, lecture_texfile):
 
@@ -40,8 +41,9 @@ def lecture_question_compiler(paths, info, lecture_texfile):
         data = {'text': qes}
         jinjafy_template(data=data, file_in=lecture_latex_path +"/questions/question_partial.tex", file_out=fout_q)
         fout_q_pdf = qpath + "/" + latexmk(fout_q, cleanup=True)
-        execute_command(["pdfcrop", fout_q_pdf, fout_q_pdf])
+        # execute_command(["pdfcrop", fout_q_pdf, fout_q_pdf])
 
+        pdfcrop(fout_q_pdf, fout_q_pdf)
         # get "nice" .png file (or fallback)
         tex = recursive_tex_apply(lecture_texfile)
         tex = "\n".join([tex[k] for k in tex])
@@ -69,7 +71,7 @@ def lecture_question_compiler(paths, info, lecture_texfile):
         if dex < 0:
             # import subprocess
             # out = subprocess.run(["pdftocairo", fout_q_pdf, fout_q_pdf[:-4], "-png"], capture_output=True, encoding='utf-8')
-            from slider.convert import pdf2png
+
             fout = pdf2png(fout_q_pdf)
 
             # execute_command(["pdftocairo", fout_q_pdf, fout_q_pdf[:-4], "-png"])
@@ -102,7 +104,9 @@ def lecture_question_compiler(paths, info, lecture_texfile):
         data = {'text': sol}
         jinjafy_template(data=data, file_in=lecture_latex_path +"/questions/question_partial.tex", file_out=fout_sol)
         fout_sol_pdf = qpath + "/" + latexmk(fout_sol)
-        execute_command(["pdfcrop", fout_sol_pdf, fout_sol_pdf])
+        # execute_command(["pdfcrop", fout_sol_pdf, fout_sol_pdf])
+        pdfcrop(fout_sol_pdf, fout_sol_pdf)
+
 
         # Now make the cvx fileÆ
         try:
diff --git a/src/coursebox/student_files/student_files.py b/src/coursebox/student_files/student_files.py
index d9fca2e324c8cbe2d8cb87ee49c5bb539953b9a5..48fe9e7c82630a915d90af2bf5c1f20c71bb2a5a 100644
--- a/src/coursebox/student_files/student_files.py
+++ b/src/coursebox/student_files/student_files.py
@@ -33,21 +33,14 @@ def setup_student_files(run_files=True,
     from coursebox.core.info import class_information
     # info = class_information()
     from coursebox.core.info import core_conf
-<<<<<<< HEAD
     try:
-        PACKAGE = list(core_conf['projects_all'].values()).pop()['module_public'].split(".")[0]
+        if len(core_conf['projects_all']) > 0:
+            PACKAGE = list(core_conf['projects_all'].values()).pop()['module_public'].split(".")[0]
+        else:
+            PACKAGE = list(core_conf['weeks_all'].values()).pop()['module_public'].split(".")[0]
     except Exception as e:
         PACKAGE = core_conf['package']
 
-
-=======
-    # if 'package' not in core_conf:
-    if len(core_conf['projects_all']) > 0:
-        PACKAGE = list(core_conf['projects_all'].values()).pop()['module_public'].split(".")[0]
-    else:
-        PACKAGE = list(core_conf['weeks_all'].values()).pop()['module_public'].split(".")[0]
->>>>>>> 47e544f39ea04a5f82e9d153ffd8bd57a6f553e9
-
     if censor_files:
         assert not run_files, "You cannot run files while you are censoring them -- your scripts will crash. Call with run_files=False."