diff --git a/cython_setup.py b/cython_setup.py
index 73f0fe2bc9510938e6f5e03ca730b0104fe35951..05b8e586f09b0c6bb604defd41cdf3fe255f7fd2 100755
--- a/cython_setup.py
+++ b/cython_setup.py
@@ -1,6 +1,4 @@
 from distutils.core import setup
 from Cython.Build import cythonize
 
-setup(
-    ext_modules = cythonize("c_corr.pyx", annotate=True, compiler_directives={'language_level' : "3"})
-)
\ No newline at end of file
+setup(ext_modules=cythonize("c_corr.pyx", annotate=True, compiler_directives={'language_level': "3"}))
diff --git a/gsrp_tdoa_hyperres.py b/gsrp_tdoa_hyperres.py
index ce507ab5a7d1ea28af64769f8ca9ed12f5d1f21c..c9603690c30256c11d847cdb806820efc2abee1b 100755
--- a/gsrp_tdoa_hyperres.py
+++ b/gsrp_tdoa_hyperres.py
@@ -1,23 +1,17 @@
+import argparse
+import itertools
 import os
 import sys
-import itertools
-import argparse
-from sklearn.pipeline import Pipeline
-from sklearn.preprocessing import PolynomialFeatures
-from sklearn.linear_model import LinearRegression
-import numpy as np
-from numpy.fft import rfft, irfft
+
 import scipy.signal as sg
 import soundfile as sf
-import c_corr
-from gsrp_smart_util import *
-from math import ceil
+from numpy.fft import rfft, irfft
 from scipy.signal.windows import tukey
+from sklearn.linear_model import LinearRegression
+from sklearn.pipeline import Pipeline
+from sklearn.preprocessing import PolynomialFeatures
 
-try:
-    from tqdm import trange
-except ImportError:
-    trange = range
+from gsrp_smart_util import *
 
 
 class BColors:
@@ -32,6 +26,20 @@ class BColors:
     UNDERLINE = '\033[4m'
 
 
+try:
+    import c_corr
+except ModuleNotFoundError:
+    print(f'{BColors.WARNING}Unable to load c_corr. Attempting to recompile...{BColors.ENDC}')
+    from subprocess import run
+    run('python cython_setup.py build_ext --inplace'.split())
+    import c_corr
+    print(f'{BColors.OKGREEN}Done{BColors.ENDC}')
+try:
+    from tqdm import trange
+except ImportError:
+    trange = range
+
+
 def intlist(s):
     return list(map(int, s.split(',')))