diff --git a/packages/snudda/package.py b/packages/snudda/package.py
index 025dc621593c6d5789179e032a68ff9c6b136b86..3ba55c98e191002241ea03f18b8a9792ed93c0b2 100644
--- a/packages/snudda/package.py
+++ b/packages/snudda/package.py
@@ -1,27 +1,35 @@
 from spack import *
 
-class Snudda(PythonPackage):
-    pypi = 'snudda-1.2.9-py3-none-any.whl'
-    maintainers = ['hjorth']
-    version('1.2.9', '248ec9320ad80dc4b05dca73e4deff78')
+class Snudda(Package):
+    homepage = 'https://pypi.org/project/snudda/'
+    url      = 'https://pypi.org/packages/source/s/snudda/snudda-1.2.9-py3-none-any.whl'
+    list_url = 'https://pypi.org/simple/snudda/'
 
+    maintainers = ['hjorth','akarmas']
+    
+    version('1.2.9', 'f4ea2e70dc877e0c60d358229e9d3b74', expand=False)
+    
     depends_on('python@3.8:', type=('build','run'))
+    depends_on('py-pip', type='build')
+    depends_on('unzip', type='build')
+    #depends_on('py-bluepyopt', type=('build','run')) must get this from BlueBrainProject https://github.com/BlueBrain/spack/tree/develop/var/spack/repos/builtin/packages/py-bluepyopt
+    depends_on('py-h5py', type=('build','run'))
+    depends_on('py-ipyparallel', type=('build','run'))
+    depends_on('py-matplotlib', type=('build','run'))
+    depends_on('py-mpi4py', type=('build','run'))
+    depends_on('py-numpy', type=('build','run'))
+    depends_on('py-scipy', type=('build','run'))
+    #depends_on('py-libsonata', type=('build','run')) - get it from https://github.com/BlueBrain/spack/tree/develop/var/spack/repos/builtin/packages/py-libsonata
+    depends_on('py-pyzmq', type=('build','run'))
+    depends_on('py-numexpr', type=('build','run'))
+    depends_on('py-argparse', type=('build','run'))
+    depends_on('neuron', type=('build','run'))
+    #depends_on('pyswarms', type=('build','run')) - must package this
+    depends_on('py-setuptools', type=('build','run'))
+    depends_on('py-psutil', type=('build','run'))
+    depends_on('py-cython', type=('build','run'))
+    depends_on('py-numba', type=('build','run'))
 
-    depends_on('bluepyopt', type=('build','run'))
-    depends_on('h5py', type=('build','run'))
-    depends_on('ipyparallel', type=('build','run'))
-    depends_on('matplotlib', type=('build','run'))
-    depends_on('mpi4py', type=('build','run'))
-    depends_on('numpy', type=('build','run'))
-    depends_on('scipy', type=('build','run'))
-    depends_on('sonata', type=('build','run'))
-    depends_on('pyzmq', type=('build','run'))
-    depends_on('numexpr', type=('build','run'))
-    depends_on('argparse', type=('build','run'))
-    depends_on('NEURON', type=('build','run'))
-    depends_on('pyswarms', type=('build','run'))
-    depends_on('setuptools', type=('build','run'))
-    depends_on('psutil', type=('build','run'))
-    depends_on('cython', type=('build','run'))
-    depends_on('numba', type=('build','run'))
-    
+    def install(self, spec, prefix):
+        pip = which('pip')
+        pip('install', self.stage.archive_file, '--prefix={0}'.format(prefix))