diff --git a/hpvm/projects/keras/frontend/__init__.py b/hpvm/projects/keras/keras_frontend/__init__.py
similarity index 100%
rename from hpvm/projects/keras/frontend/__init__.py
rename to hpvm/projects/keras/keras_frontend/__init__.py
diff --git a/hpvm/projects/keras/frontend/approxhpvm_translator.py b/hpvm/projects/keras/keras_frontend/approxhpvm_translator.py
similarity index 99%
rename from hpvm/projects/keras/frontend/approxhpvm_translator.py
rename to hpvm/projects/keras/keras_frontend/approxhpvm_translator.py
index f3bc0076c6024847620174d0bd311017b8f1c6e5..48f469f2261d3a946b03760f600804b9b661316f 100644
--- a/hpvm/projects/keras/frontend/approxhpvm_translator.py
+++ b/hpvm/projects/keras/keras_frontend/approxhpvm_translator.py
@@ -1,11 +1,11 @@
 
 import sys
 import numpy as np
-from frontend.promise_translator import PromiseRtTranslator
-from frontend.hpvm_dfg_translator import HPVMTranslator
-from frontend.weight_utils import dumpLabels, dumpData, dumpConvWeights, dumpFcWeights, dumpFcBias
-from frontend.utils import *
-from frontend.knobs import *
+from keras_frontend.promise_translator import PromiseRtTranslator
+from keras_frontend.hpvm_dfg_translator import HPVMTranslator
+from keras_frontend.weight_utils import dumpLabels, dumpData, dumpConvWeights, dumpFcWeights, dumpFcBias
+from keras_frontend.utils import *
+from keras_frontend.knobs import *
 import keras
 import os
 
diff --git a/hpvm/projects/keras/frontend/config.py b/hpvm/projects/keras/keras_frontend/config.py
similarity index 100%
rename from hpvm/projects/keras/frontend/config.py
rename to hpvm/projects/keras/keras_frontend/config.py
diff --git a/hpvm/projects/keras/frontend/hpvm_dfg_translator.py b/hpvm/projects/keras/keras_frontend/hpvm_dfg_translator.py
similarity index 99%
rename from hpvm/projects/keras/frontend/hpvm_dfg_translator.py
rename to hpvm/projects/keras/keras_frontend/hpvm_dfg_translator.py
index d14c64bbf406e991b0b623fa3b56f938153e7fe8..53369478e39e058fd4e4e065d00fb55e0bdc2960 100644
--- a/hpvm/projects/keras/frontend/hpvm_dfg_translator.py
+++ b/hpvm/projects/keras/keras_frontend/hpvm_dfg_translator.py
@@ -1,8 +1,8 @@
 
 import os
 import sys
-from frontend.utils import *
-from frontend.hpvm_intrinsics import *
+from keras_frontend.utils import *
+from keras_frontend.hpvm_intrinsics import *
 
 
 class HPVMTranslator:
diff --git a/hpvm/projects/keras/frontend/hpvm_intrinsics.py b/hpvm/projects/keras/keras_frontend/hpvm_intrinsics.py
similarity index 100%
rename from hpvm/projects/keras/frontend/hpvm_intrinsics.py
rename to hpvm/projects/keras/keras_frontend/hpvm_intrinsics.py
diff --git a/hpvm/projects/keras/frontend/knobs.py b/hpvm/projects/keras/keras_frontend/knobs.py
similarity index 100%
rename from hpvm/projects/keras/frontend/knobs.py
rename to hpvm/projects/keras/keras_frontend/knobs.py
diff --git a/hpvm/projects/keras/frontend/promise_translator.py b/hpvm/projects/keras/keras_frontend/promise_translator.py
similarity index 99%
rename from hpvm/projects/keras/frontend/promise_translator.py
rename to hpvm/projects/keras/keras_frontend/promise_translator.py
index 015c1c562a0be295b9e3df0381f582e454192f16..124037c003fd89bc9a57146ea7a7c0826e70bff7 100644
--- a/hpvm/projects/keras/frontend/promise_translator.py
+++ b/hpvm/projects/keras/keras_frontend/promise_translator.py
@@ -4,8 +4,8 @@ import random
 import numpy as np
 import sys
 from keras import backend as K
-from frontend.utils import *
-from frontend.quantize_utils import get_best_quant_range, dumpQuantizeRanges
+from keras_frontend.utils import *
+from keras_frontend.quantize_utils import get_best_quant_range, dumpQuantizeRanges
 
 
 class State:
@@ -600,7 +600,7 @@ class PromiseRtTranslator:
     
     promise_layer_str = "void* " + output_var + " = tensorAdd(" + input_vars[0]
     promise_layer_str += ", " + input_vars[1] + "); \n"
-    print (promise_layer_str)
+    #print (promise_layer_str)
 
     self.program_str += promise_layer_str
 
diff --git a/hpvm/projects/keras/frontend/quantize_utils.py b/hpvm/projects/keras/keras_frontend/quantize_utils.py
similarity index 100%
rename from hpvm/projects/keras/frontend/quantize_utils.py
rename to hpvm/projects/keras/keras_frontend/quantize_utils.py
diff --git a/hpvm/projects/keras/frontend/setup.py b/hpvm/projects/keras/keras_frontend/setup.py
similarity index 100%
rename from hpvm/projects/keras/frontend/setup.py
rename to hpvm/projects/keras/keras_frontend/setup.py
diff --git a/hpvm/projects/keras/frontend/utils.py b/hpvm/projects/keras/keras_frontend/utils.py
similarity index 100%
rename from hpvm/projects/keras/frontend/utils.py
rename to hpvm/projects/keras/keras_frontend/utils.py
diff --git a/hpvm/projects/keras/frontend/weight_utils.py b/hpvm/projects/keras/keras_frontend/weight_utils.py
similarity index 100%
rename from hpvm/projects/keras/frontend/weight_utils.py
rename to hpvm/projects/keras/keras_frontend/weight_utils.py
diff --git a/hpvm/projects/keras/setup.py b/hpvm/projects/keras/setup.py
index 9da7193379454d1d5cdc1e63f6b436d3771e15a5..bdf192140639569ccaed605ff9238d5ff56a6870 100644
--- a/hpvm/projects/keras/setup.py
+++ b/hpvm/projects/keras/setup.py
@@ -2,11 +2,17 @@
 from setuptools import setup
 
 setup(
-    name='frontend',
-    version='1.0',
-    description='ApproxHPVM frontend modules',
+    name='keras_frontend',
+    version='0.1',
+    description='ApproxHPVM Keras Frontend. Keras -> HPVM Translator',
     author='Hashim',
     author_email='hsharif3@illinois.edu',
-    packages=['frontend'],
-    install_requires=[],
+    packages=['keras_frontend'],
+    install_requires=[
+        "torchvision==0.8.2",
+        "tensorflow==1.14",
+        "tensorflow-gpu==1.14",
+        "keras==2.1.6",
+        "scipy==1.1.0"
+    ],
 )
diff --git a/hpvm/projects/keras/src/Benchmark.py b/hpvm/projects/keras/src/Benchmark.py
index aaa7bdacc47ee570c21ab5e4d797737e5f193811..b0df9d98d606c6db3c0eef4af6acb4797f604651 100644
--- a/hpvm/projects/keras/src/Benchmark.py
+++ b/hpvm/projects/keras/src/Benchmark.py
@@ -6,9 +6,9 @@ import shutil
 import subprocess
 from keras.utils.np_utils import to_categorical
 from keras.models import load_model
-from frontend.approxhpvm_translator import translate_to_approxhpvm
-from frontend.weight_utils import dumpCalibrationData
-from frontend.weight_utils import reloadHPVMWeights
+from keras_frontend.approxhpvm_translator import translate_to_approxhpvm
+from keras_frontend.weight_utils import dumpCalibrationData
+from keras_frontend.weight_utils import reloadHPVMWeights
 
 
 # Every CNN Benchmark must inherit from Benchmark class
@@ -39,10 +39,10 @@ class Benchmark:
 
 
     # Compiles frontend generated sources
-    def compileSource(self, working_dir):
+    def compileSource(self, working_dir, src_name, binary_name):
               
-        src_file = os.getcwd() + "/" + working_dir + "/approxhpvm_src.cc"
-        target_binary = os.getcwd() + "/" + working_dir + "/HPVM_binary"
+        src_file = os.getcwd() + "/" + working_dir + "/" + src_name   #  approxhpvm_src.cc"
+        target_binary = os.getcwd() + "/" + working_dir + "/" + binary_name    # HPVM_binary"
         approx_conf_file = "tuner_confs.txt"
 
         FNULL = open(os.devnull, 'w')
@@ -135,7 +135,12 @@ class Benchmark:
                                                 (argv[1] == "hpvm_reload")) # Do not redump HPVM weights if `hpvm_reload` used
 
           if len(argv) > 3 and argv[3] == "compile":
-            self.compileSource(working_dir)
+            self.compileSource(working_dir, "approxhpvm_src.cc", "HPVM_binary")
+          else:
+            self.printUsage()
+
+          if len(argv) > 4 and argv[4] == "compile_tuner":
+            self.compileSource(working_dir, "approxhpvm_tuner_src.cc", "HPVM_tuner_binary")
           else:
             self.printUsage()
 
@@ -144,8 +149,8 @@ class Benchmark:
           model.save_weights(self.keras_model_file)
 
           
-      elif len(argv) > 2:
-        self.printUsage()
+      #elif len(argv) > 2:
+      #  self.printUsage()