diff --git a/bob/bio/gmm/test/test_algorithms.py b/bob/bio/gmm/test/test_algorithms.py
index ae933d740dff40eca1fd059daf6359df3f1ba580..f8f4fe957f96dd21f4fb3bcd4b50fc313f8dfdb3 100644
--- a/bob/bio/gmm/test/test_algorithms.py
+++ b/bob/bio/gmm/test/test_algorithms.py
@@ -39,6 +39,7 @@ import bob.io.base
 import bob.learn.linear
 import bob.io.base.test_utils
 import bob.bio.gmm
+
 from bob.bio.base.test import utils
 
 def _compare(data, reference, write_function = bob.bio.base.save, read_function = bob.bio.base.load):
diff --git a/buildout.cfg b/buildout.cfg
index 2c0be00e1f47d42ec6a4201c55c557aeea6427ec..a07d6e5d3bcbbf0d07344841d005c9a847a6fac6 100644
--- a/buildout.cfg
+++ b/buildout.cfg
@@ -4,20 +4,53 @@
 
 [buildout]
 parts = scripts
-eggs = bob.learn.linear
-       bob.bio.base
-       bob.bio.gmm
-extensions = bob.buildout
+eggs = bob.bio.gmm
+       gridtk
 
-develop = ../../bob/layers/1/bob.learn.linear
-          ../bob.bio.base
+extensions = bob.buildout
+             mr.developer
+auto-checkout = *
+develop = src/bob.extension
+          src/bob.blitz
+          src/bob.core
+          src/bob.io.base
+          src/bob.learn.activation
+          src/bob.math
+          src/bob.learn.linear
+          src/bob.sp
+          src/bob.learn.em
+          src/bob.measure
+          src/bob.db.base
+          src/bob.db.verification.utils
+          src/bob.db.verification.filelist
+          src/bob.db.atnt
+          src/bob.io.image
+          src/bob.bio.base
           .
-
+         
 ; options for bob.buildout
 debug = true
 verbose = true
 newest = false
 
+[sources]
+bob.extension = git https://github.com/bioidiap/bob.extension
+bob.blitz = git https://github.com/bioidiap/bob.blitz
+bob.core = git https://github.com/bioidiap/bob.core
+bob.io.base = git https://github.com/bioidiap/bob.io.base
+bob.learn.activation = git https://github.com/bioidiap/bob.learn.activation
+bob.math = git https://github.com/bioidiap/bob.math
+bob.sp = git https://github.com/bioidiap/bob.sp
+bob.learn.linear = git https://github.com/bioidiap/bob.learn.linear
+bob.learn.em = git https://github.com/bioidiap/bob.learn.em
+bob.measure = git https://github.com/bioidiap/bob.measure
+bob.db.base = git https://github.com/bioidiap/bob.db.base
+bob.db.verification.utils = git https://github.com/bioidiap/bob.db.verification.utils
+bob.db.verification.filelist = git https://github.com/bioidiap/bob.db.verification.filelist
+bob.db.atnt = git https://github.com/bioidiap/bob.db.atnt
+bob.io.image = git https://github.com/bioidiap/bob.io.image
+bob.bio.base = git https://github.com/bioidiap/bob.bio.base
+
 [scripts]
 recipe = bob.buildout:scripts
 dependent-scripts = true
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..cc2aba6c358ed80121c5372774cb69db1caa6c66
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,18 @@
+setuptools
+bob.extension
+bob.blitz
+bob.core
+bob.io.base
+bob.learn.activation
+bob.math
+bob.learn.linear
+bob.sp
+bob.learn.em
+bob.measure
+bob.db.base
+bob.db.verification.utils
+bob.db.verification.filelist
+bob.db.atnt  # for test purposes
+bob.io.image # for test purposes
+bob.bio.base
+matplotlib   # for plotting
diff --git a/setup.py b/setup.py
index 9ec6e17e2fde817742a288ef09991118f1504837..902faf890587caf4e826333a292be48e79feeaa1 100644
--- a/setup.py
+++ b/setup.py
@@ -33,7 +33,11 @@
 # allows you to test your package with new python dependencies w/o requiring
 # administrative interventions.
 
-from setuptools import setup, find_packages
+from setuptools import setup, find_packages, dist
+dist.Distribution(dict(setup_requires=['bob.extension']))
+
+from bob.extension.utils import load_requirements
+install_requires = load_requirements()
 
 # The only thing we do in this file is to call the setup() function with all
 # parameters that define our package.
@@ -64,10 +68,7 @@ setup(
     # on the current system will be installed locally and only visible to the
     # scripts of this package. Don't worry - You won't need administrative
     # privileges when using buildout.
-    install_requires = [
-      'setuptools',
-      'bob.bio.base'
-    ],
+    install_requires = install_requires,
 
     # Your project should be called something like 'bob.<foo>' or
     # 'bob.<foo>.<bar>'. To implement this correctly and still get all your