diff --git a/.circleci/config.yml b/.circleci/config.yml
index 1fe7f3bb992cdd0e647be76a5faf1ce8b6e0a189..f7150d79e61c77a1275062b71b22ec4a4b86d127 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -11,9 +11,7 @@ commands:
     steps:
       - run:
           command: |
-            pip install -r requirements.txt
-            pip install -U pytest-xdist pytest-cov pytest pytest-forked pluggy py
-            pip install .
+            pip install -e .[dev,test,extras]
   unit_test:
     description: Run the unit tests
     steps:
diff --git a/README.md b/README.md
index 2bbb50ed2ab312a330e51d98f5782fc67484ef69..bf5ef7e04e05c1dae827f8f867244372837d422a 100644
--- a/README.md
+++ b/README.md
@@ -47,6 +47,12 @@ is available for the brave souls that do decide to use this library.
 See [LICENSE](LICENSE) for text of the license. This library may contain code taken from elsewhere on the internets, so
 this is copyright (c) respective authors.
 
+If you want to install extra modules, just run
+
+```bash
+pip install satella[extras]
+```
+
 Running unit tests
 ------------------
 
diff --git a/pyproject.toml b/pyproject.toml
index d44d26477bdbf1f394bf0fc7264e75ecff155ffb..a7cf89b05142b2eab234bea23a095b117be67f5f 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -29,12 +29,10 @@ dependencies = ["psutil"]
 version = {attr = "satella.__version__"}
 
 [project.optional-dependencies]
-HTTPJSONSource = ["requests"]
-YAMLSource = ["pyyaml"]
-TOMLSource = ["toml"]
-FasterJSON = ["ujson"]
-cassandra = ["cassandra-driver"]
-opentracing = ["opentracing"]
+dev = ["pylint", "pyyaml", "toml", "requests", "opentracing"]
+test =  ["pytest-cov", "pytest-xdist", "pytest", "pytest-forked", "pluggy", "py"]
+extras = ["requests","pyyaml","toml", "ujson", "cassandra-driver", "opentracing"]
+
 
 [build-system]
 requires = ["setuptools", "setuptools-scm"]
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index c87e4aa6e2743d83165a0e9c5739e89db784a68e..0000000000000000000000000000000000000000
--- a/requirements.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-psutil
-pyyaml
-toml
-requests
-opentracing
diff --git a/satella/__init__.py b/satella/__init__.py
index ae6d1c9b7110ce0664ba2a96d3acfd96eb9143b1..3becaa63ca9aeaf5a9dc843ee6d2567d4e76af67 100644
--- a/satella/__init__.py
+++ b/satella/__init__.py
@@ -1 +1 @@
-__version__ = '2.24.3a1'
+__version__ = '2.24.3a2'