diff --git a/expetator/benchmarks/NPB3.4-MPI.tgz b/expetator/benchmarks/NPB3.4-MPI.tgz
deleted file mode 100644
index 3f48b8c942bc4650e2a87e39f66a43d2a911e86b..0000000000000000000000000000000000000000
Binary files a/expetator/benchmarks/NPB3.4-MPI.tgz and /dev/null differ
diff --git a/expetator/benchmarks/npbbench.py b/expetator/benchmarks/npbbench.py
index aaaeb4d6fe41ce4941f23677f0d16b69ebf42bb5..12c294e1a5c2112aa5282a261e6886cffbef08ea 100644
--- a/expetator/benchmarks/npbbench.py
+++ b/expetator/benchmarks/npbbench.py
@@ -61,19 +61,24 @@ class NpbBench:
         basedir = os.path.dirname(os.path.abspath(__file__))
         
         'Builds NPB benchmark'
-        executor.local('tar xfC %s/NPB3.4-MPI.tgz /tmp/' % basedir, shell=False)
-        executor.local('cp /tmp/NPB3.4-MPI/config/make.def.template /tmp/NPB3.4-MPI/config/make.def')
-        executor.local("sed -i 's/mpif90/mpif90 -fallow-argument-mismatch -fallow-invalid-boz/' /tmp/NPB3.4-MPI/config/make.def")
+
+        target_file = os.path.expanduser('~/.local/tmp/NPB3.4-MPI.tar.gz')
+        if not os.path.isfile(target_file):
+            os.makedirs(os.path.expanduser('~/.local/tmp/'), exist_ok=True)
+            executor.local('wget https://www.nas.nasa.gov/assets/npb/NPB3.4.tar.gz -O %s' % target_file)
+        executor.local('tar xfC %s /tmp/' % target_file, shell=False)
+        executor.local('cp /tmp/NPB3.4/NPB3.4-MPI/config/make.def.template /tmp/NPB3.4/NPB3.4-MPI/config/make.def')
+        executor.local("sed -i 's/mpif90/mpif90 -fallow-argument-mismatch -fallow-invalid-boz/' /tmp/NPB3.4/NPB3.4-MPI/config/make.def")
         nbproc = executor.nbcores
 
         if self.params is None:
             self.params = standard_parameters(nbproc)
 
         for bench in self.names:
-            executor.local('cd /tmp/NPB3.4-MPI/; make %s CLASS=%s'
+            executor.local('cd /tmp/NPB3.4/NPB3.4-MPI/; make %s CLASS=%s'
                            %(bench, self.params[bench]))
 
-        executor.local('cp /tmp/NPB3.4-MPI/bin/* /tmp/bin/')
+        executor.local('cp /tmp/NPB3.4/NPB3.4-MPI/bin/* /tmp/bin/')
 
         for key in self.params:
             self.params[key] = [(self.params[key], npb_constraints(key, nbproc))]
diff --git a/setup.py b/setup.py
index 740359705541da6ef7d638c0c72dd257e5c5bbe5..a3f0b18424417eba3d15bd943852f29478289eda 100644
--- a/setup.py
+++ b/setup.py
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
 
 setuptools.setup(
     name="expetator",
-    version="0.3.3",
+    version="0.3.7",
     author="Georges Da Costa",
     author_email="georges.da-costa@irit.fr",
     description="A framework for monitoring HPC applications using DVFS",
@@ -23,4 +23,6 @@ setuptools.setup(
                        'monitors/*.bz2', 'monitors/*.diff',
                        'leverages/*.[ch]', 'leverages/*.sh', 'leverages/*_mak']},
     include_package_data=True,
+    install_requires=['execo'],
+
 )