diff --git a/cml/domain/construction.py b/cml/domain/construction.py
index d9c497a6c4fb3f69725796782ffbc53490efbfc5..0f11a2cd479740f924f2f4247c22bd14638ca4e6 100644
--- a/cml/domain/construction.py
+++ b/cml/domain/construction.py
@@ -1,7 +1,7 @@
 
 
 __all__ = (
-
+    "Construction"
 )
 
 
diff --git a/cml/domain/reconstruction.py b/cml/domain/reconstruction.py
index 87445e4d30247602443501729dcdf6cef6463865..23b77430439bfbc224641ff09c192bdbdf5e9689 100644
--- a/cml/domain/reconstruction.py
+++ b/cml/domain/reconstruction.py
@@ -1,7 +1,7 @@
 
 
 __all__ = (
-
+    "Reconstruction"
 )
 
 
diff --git a/cml/shared/request.py b/cml/shared/request.py
index 1f9fddf274750ca58be3edb9f43080de9b9c2922..c4514a94eaf9422ba10282480723494ad8366369 100644
--- a/cml/shared/request.py
+++ b/cml/shared/request.py
@@ -1,7 +1,14 @@
 from dataclasses import dataclass
 
 from cml.ports.source_adapters import Adapter
-from cml.shared.settings import PreprocessingSettings, BlockProcessingSettings
+from cml.domain.reconstruction import Reconstructor
+from cml.domain.data_source import DataSource
+from cml.domain.construction import Constructor
+from cml.shared.settings import (
+    PreprocessingSettings,
+    BlockProcessingSettings,
+    DeconstructionSettings
+)
 
 
 @dataclass
@@ -9,3 +16,11 @@ class PreprocessRequest:
     source_adapter: Adapter
     pre_settings: PreprocessingSettings
     block_settings: BlockProcessingSettings
+
+
+@dataclass
+class KnowledgeSearchRequest:
+    constructor: Constructor
+    reconstructor: Reconstructor
+    data_source: DataSource
+    deconstruction_settings: DeconstructionSettings