diff --git a/force_bdss/core_plugins/csv_extractor/csv_extractor/__init__.py b/force_bdss/core_plugins/csv_extractor/csv_extractor/__init__.py
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/force_bdss/core_plugins/csv_extractor/csv_extractor/csv_extractor_bundle.py b/force_bdss/core_plugins/csv_extractor/csv_extractor/csv_extractor_bundle.py
deleted file mode 100644
index 55f998c49c4bfef7dfb37f93f61f3c435f00f518..0000000000000000000000000000000000000000
--- a/force_bdss/core_plugins/csv_extractor/csv_extractor/csv_extractor_bundle.py
+++ /dev/null
@@ -1,21 +0,0 @@
-from traits.api import String
-
-from force_bdss.api import bundle_id, BaseDataSourceBundle
-
-from .csv_extractor_model import CSVExtractorModel
-from .csv_extractor_data_source import CSVExtractorDataSource
-
-
-class CSVExtractorBundle(BaseDataSourceBundle):
-    id = String(bundle_id("enthought", "csv_extractor"))
-
-    name = String("CSV Extractor")
-
-    def create_model(self, model_data=None):
-        if model_data is None:
-            model_data = {}
-
-        return CSVExtractorModel(self, **model_data)
-
-    def create_data_source(self, application, model):
-        return CSVExtractorDataSource(self, application, model)
diff --git a/force_bdss/core_plugins/csv_extractor/csv_extractor/csv_extractor_data_source.py b/force_bdss/core_plugins/csv_extractor/csv_extractor/csv_extractor_data_source.py
deleted file mode 100644
index f2835f8fbaeb5290aa01c53271d1c253109531f8..0000000000000000000000000000000000000000
--- a/force_bdss/core_plugins/csv_extractor/csv_extractor/csv_extractor_data_source.py
+++ /dev/null
@@ -1,25 +0,0 @@
-import csv
-import numpy
-from force_bdss.api import BaseDataSource
-from force_bdss.api import DataSourceResult
-
-
-class CSVExtractorDataSource(BaseDataSource):
-    def run(self, parameters):
-        with open(self.model.filename) as csvfile:
-            reader = csv.reader(csvfile)
-            for rowindex, row in enumerate(reader):
-                if rowindex < self.model.row:
-                    continue
-
-                if rowindex == self.model.row:
-                    return DataSourceResult(
-                        originator=self,
-                        value_types=[self.model.cuba_type],
-                        values=numpy.array(
-                            parameters.values[0]+float(
-                                row[self.model.column])).reshape(1, 1)
-                    )
-
-                return None
-            return None
diff --git a/force_bdss/core_plugins/csv_extractor/csv_extractor/csv_extractor_model.py b/force_bdss/core_plugins/csv_extractor/csv_extractor/csv_extractor_model.py
deleted file mode 100644
index ad8d34bad87ce416d563346ef7d12257f3a01477..0000000000000000000000000000000000000000
--- a/force_bdss/core_plugins/csv_extractor/csv_extractor/csv_extractor_model.py
+++ /dev/null
@@ -1,10 +0,0 @@
-from traits.api import Int, String
-
-from force_bdss.api import BaseDataSourceModel
-
-
-class CSVExtractorModel(BaseDataSourceModel):
-    filename = String()
-    row = Int()
-    column = Int()
-    cuba_type = String()
diff --git a/force_bdss/core_plugins/csv_extractor/csv_extractor_plugin.py b/force_bdss/core_plugins/csv_extractor/csv_extractor_plugin.py
deleted file mode 100644
index 9020fc8242456ecf6ed6a5af947e3633e010c323..0000000000000000000000000000000000000000
--- a/force_bdss/core_plugins/csv_extractor/csv_extractor_plugin.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from force_bdss.api import BaseExtensionPlugin
-
-from .csv_extractor.csv_extractor_bundle import CSVExtractorBundle
-
-
-class CSVExtractorPlugin(BaseExtensionPlugin):
-    def _data_source_bundles_default(self):
-        return [CSVExtractorBundle()]
diff --git a/force_bdss/core_plugins/dummy/dummy_plugin.py b/force_bdss/core_plugins/dummy/dummy_plugin.py
index 01850726513c44d0f888bbb610b5b0da3a991ff4..3eca5b37262bfaab0416ee01c82e5287e5455a2f 100644
--- a/force_bdss/core_plugins/dummy/dummy_plugin.py
+++ b/force_bdss/core_plugins/dummy/dummy_plugin.py
@@ -1,4 +1,6 @@
 from force_bdss.api import BaseExtensionPlugin
+from .csv_extractor.csv_extractor_bundle import CSVExtractorBundle
+from .kpi_adder.kpi_adder_bundle import KPIAdderBundle
 from .dummy_dakota.dakota_bundle import DummyDakotaBundle
 from .dummy_data_source.dummy_data_source_bundle import DummyDataSourceBundle
 from .dummy_kpi_calculator.dummy_kpi_calculator_bundle import (
@@ -8,10 +10,12 @@ from .dummy_kpi_calculator.dummy_kpi_calculator_bundle import (
 
 class DummyPlugin(BaseExtensionPlugin):
     def _data_source_bundles_default(self):
-        return [DummyDataSourceBundle()]
+        return [DummyDataSourceBundle(),
+                CSVExtractorBundle()]
 
     def _mco_bundles_default(self):
         return [DummyDakotaBundle()]
 
     def _kpi_calculator_bundles_default(self):
-        return [DummyKPICalculatorBundle()]
+        return [DummyKPICalculatorBundle(),
+                KPIAdderBundle()]
diff --git a/force_bdss/core_plugins/csv_extractor/__init__.py b/force_bdss/core_plugins/dummy/kpi_adder/__init__.py
similarity index 100%
rename from force_bdss/core_plugins/csv_extractor/__init__.py
rename to force_bdss/core_plugins/dummy/kpi_adder/__init__.py
diff --git a/force_bdss/core_plugins/dummy_kpi/kpi_adder/kpi_adder_bundle.py b/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_bundle.py
similarity index 100%
rename from force_bdss/core_plugins/dummy_kpi/kpi_adder/kpi_adder_bundle.py
rename to force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_bundle.py
diff --git a/force_bdss/core_plugins/dummy_kpi/kpi_adder/kpi_adder_calculator.py b/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_calculator.py
similarity index 100%
rename from force_bdss/core_plugins/dummy_kpi/kpi_adder/kpi_adder_calculator.py
rename to force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_calculator.py
diff --git a/force_bdss/core_plugins/dummy_kpi/kpi_adder/kpi_adder_model.py b/force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_model.py
similarity index 100%
rename from force_bdss/core_plugins/dummy_kpi/kpi_adder/kpi_adder_model.py
rename to force_bdss/core_plugins/dummy/kpi_adder/kpi_adder_model.py
diff --git a/force_bdss/core_plugins/dummy_kpi/__init__.py b/force_bdss/core_plugins/dummy_kpi/__init__.py
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/force_bdss/core_plugins/dummy_kpi/dummy_kpi_calculator_plugin.py b/force_bdss/core_plugins/dummy_kpi/dummy_kpi_calculator_plugin.py
deleted file mode 100644
index 1e427722e65776c7a016c03227be085fba7bd57e..0000000000000000000000000000000000000000
--- a/force_bdss/core_plugins/dummy_kpi/dummy_kpi_calculator_plugin.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from force_bdss.api import BaseExtensionPlugin
-
-from .kpi_adder.kpi_adder_bundle import KPIAdderBundle
-
-
-class DummyKPICalculatorPlugin(BaseExtensionPlugin):
-    def _kpi_calculator_bundles_default(self):
-        return [KPIAdderBundle()]
diff --git a/force_bdss/core_plugins/dummy_kpi/kpi_adder/__init__.py b/force_bdss/core_plugins/dummy_kpi/kpi_adder/__init__.py
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/force_bdss/core_plugins/dummy_mco/__init__.py b/force_bdss/core_plugins/dummy_mco/__init__.py
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/force_bdss/core_plugins/dummy_mco/dakota/__init__.py b/force_bdss/core_plugins/dummy_mco/dakota/__init__.py
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/force_bdss/core_plugins/dummy_mco/dakota/dakota_bundle.py b/force_bdss/core_plugins/dummy_mco/dakota/dakota_bundle.py
deleted file mode 100644
index e4d9f441bf4dbcce63ac1de06a53a56dc35d693b..0000000000000000000000000000000000000000
--- a/force_bdss/core_plugins/dummy_mco/dakota/dakota_bundle.py
+++ /dev/null
@@ -1,23 +0,0 @@
-from traits.api import String
-from force_bdss.api import bundle_id, BaseMultiCriteriaOptimizerBundle
-
-from .dakota_communicator import DakotaCommunicator
-from .dakota_model import DakotaModel
-from .dakota_optimizer import DakotaOptimizer
-
-
-class DakotaBundle(BaseMultiCriteriaOptimizerBundle):
-    id = String(bundle_id("enthought", "dakota"))
-
-    name = "Dakota"
-
-    def create_model(self, model_data=None):
-        if model_data is None:
-            model_data = {}
-        return DakotaModel(self, **model_data)
-
-    def create_optimizer(self, application, model):
-        return DakotaOptimizer(self, application, model)
-
-    def create_communicator(self, application, model):
-        return DakotaCommunicator(self, application, model)
diff --git a/force_bdss/core_plugins/dummy_mco/dakota/dakota_communicator.py b/force_bdss/core_plugins/dummy_mco/dakota/dakota_communicator.py
deleted file mode 100644
index 1605eba63e872ff85dae5df694d566b425c84550..0000000000000000000000000000000000000000
--- a/force_bdss/core_plugins/dummy_mco/dakota/dakota_communicator.py
+++ /dev/null
@@ -1,34 +0,0 @@
-import sys
-import numpy
-
-from force_bdss.api import DataSourceParameters, BaseMCOCommunicator
-
-
-class DakotaCommunicator(BaseMCOCommunicator):
-    def receive_from_mco(self):
-        data = sys.stdin.read()
-        values = list(map(float, data.split()))
-
-        parameters = self.model.parameters
-
-        if len(values) != len(parameters):
-            raise ValueError(
-                "The passed information length is {}, "
-                "but the model specifies {} values.".format(
-                    len(values), len(parameters)
-                ))
-
-        value_types = [p.value_type for p in parameters]
-        value_names = [p.value_name for p in parameters]
-
-        return DataSourceParameters(
-            value_names=value_names,
-            value_types=value_types,
-            values=numpy.array(values)
-        )
-
-    def send_to_mco(self, kpi_results):
-        data = " ".join(
-            [" ".join(list(map(str, r.values.tolist()))) for r in kpi_results]
-        )
-        sys.stdout.write(data)
diff --git a/force_bdss/core_plugins/dummy_mco/dakota/dakota_model.py b/force_bdss/core_plugins/dummy_mco/dakota/dakota_model.py
deleted file mode 100644
index b4c081a6b38bd5478f4287624411c5ce185cd01d..0000000000000000000000000000000000000000
--- a/force_bdss/core_plugins/dummy_mco/dakota/dakota_model.py
+++ /dev/null
@@ -1,7 +0,0 @@
-from traits.api import List, String
-
-from force_bdss.api import BaseMCOModel
-
-
-class DakotaModel(BaseMCOModel):
-    value_types = List(String)
diff --git a/force_bdss/core_plugins/dummy_mco/dakota/dakota_optimizer.py b/force_bdss/core_plugins/dummy_mco/dakota/dakota_optimizer.py
deleted file mode 100644
index 6b607cfce35432d286642465e36e90387f5a6c34..0000000000000000000000000000000000000000
--- a/force_bdss/core_plugins/dummy_mco/dakota/dakota_optimizer.py
+++ /dev/null
@@ -1,20 +0,0 @@
-import subprocess
-
-import sys
-
-from force_bdss.api import BaseMultiCriteriaOptimizer
-
-
-class DakotaOptimizer(BaseMultiCriteriaOptimizer):
-    def run(self):
-        print("Running dakota optimizer")
-        for initial_value in range(10):
-            ps = subprocess.Popen(
-                [sys.argv[0],
-                 "--evaluate",
-                 self.application.workflow_filepath],
-                stdout=subprocess.PIPE,
-                stdin=subprocess.PIPE)
-
-            out = ps.communicate("{}".format(initial_value).encode("utf-8"))
-            print("{}: {}".format(initial_value, out[0].decode("utf-8")))
diff --git a/force_bdss/core_plugins/dummy_mco/multi_criteria_optimizers_plugin.py b/force_bdss/core_plugins/dummy_mco/multi_criteria_optimizers_plugin.py
deleted file mode 100644
index 1fe302b5eb40afb1ef8610b6889fac38ccf06ca4..0000000000000000000000000000000000000000
--- a/force_bdss/core_plugins/dummy_mco/multi_criteria_optimizers_plugin.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from force_bdss.api import BaseExtensionPlugin
-
-from .dakota.dakota_bundle import DakotaBundle
-
-
-class MultiCriteriaOptimizersPlugin(BaseExtensionPlugin):
-    def _mco_bundles_default(self):
-        return [DakotaBundle()]
diff --git a/force_bdss/tests/fixtures/test_csv.json b/force_bdss/tests/fixtures/test_csv.json
index dbd1a9d9c205cfa1b8fdc9d59676a83f187b05a9..a74afc6474f158fa2c838fcc6a599e91faaef25e 100644
--- a/force_bdss/tests/fixtures/test_csv.json
+++ b/force_bdss/tests/fixtures/test_csv.json
@@ -2,7 +2,7 @@
   "version": "1",
   "workflow": {
     "multi_criteria_optimizer": {
-      "id": "force.bdss.bundle.enthought.dakota",
+      "id": "force.bdss.bundle.enthought.dummy_dakota",
       "model_data": {
         "parameters" : [
           {