Repository: deepdoctection/deepdoctection (language: python)

Issue:
Getting started notebook fails
**Bug** 💥
Getting started notebooks fails with:
```
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Input In [9], in <cell line: 2>()
      1 doc=iter(df)
----> 2 page = next(doc)

File ~/Library/Caches/pypoetry/virtualenvs/challenges-Ho27vFAF-py3.8/lib/python3.8/site-packages/dataflow/dataflow/common.py:315, in MapData.__iter__(self)
    314 def __iter__(self):
--> 315     for dp in self.ds:
    316         ret = self.func(copy(dp))  # shallow copy the list
    317         if ret is not None:

File ~/Library/Caches/pypoetry/virtualenvs/challenges-Ho27vFAF-py3.8/lib/python3.8/site-packages/dataflow/dataflow/common.py:315, in MapData.__iter__(self)
    314 def __iter__(self):
--> 315     for dp in self.ds:
    316         ret = self.func(copy(dp))  # shallow copy the list
    317         if ret is not None:

File ~/Library/Caches/pypoetry/virtualenvs/challenges-Ho27vFAF-py3.8/lib/python3.8/site-packages/dataflow/dataflow/common.py:315, in MapData.__iter__(self)
    314 def __iter__(self):
--> 315     for dp in self.ds:
    316         ret = self.func(copy(dp))  # shallow copy the list
    317         if ret is not None:

File ~/Library/Caches/pypoetry/virtualenvs/challenges-Ho27vFAF-py3.8/lib/python3.8/site-packages/dataflow/dataflow/common.py:316, in MapData.__iter__(self)
    314 def __iter__(self):
    315     for dp in self.ds:
--> 316         ret = self.func(copy(dp))  # shallow copy the list
    317         if ret is not None:
    318             yield ret

File ~/Library/Caches/pypoetry/virtualenvs/challenges-Ho27vFAF-py3.8/lib/python3.8/site-packages/deepdoctection/pipe/base.py:89, in PipelineComponent.pass_datapoint(self, dp)
     87     with timed_operation(self.__class__.__name__):
     88         self.dp_manager.datapoint = dp
---> 89         self.serve(dp)
     90 else:
     91     self.dp_manager.datapoint = dp

File ~/Library/Caches/pypoetry/virtualenvs/challenges-Ho27vFAF-py3.8/lib/python3.8/site-packages/deepdoctection/pipe/text.py:83, in TextExtractionService.serve(self, dp)
     81 assert predictor_input is not None
     82 width, height = None, None
---> 83 detect_result_list = self.predictor.predict(predictor_input)  # type: ignore
     84 if isinstance(self.predictor, PdfMiner):
     85     width, height = self.predictor.get_width_height(predictor_input)  # type: ignore

File ~/Library/Caches/pypoetry/virtualenvs/challenges-Ho27vFAF-py3.8/lib/python3.8/site-packages/deepdoctection/extern/tessocr.py:274, in TesseractOcrDetector.predict(self, np_img)
    267 def predict(self, np_img: ImageType) -> List[DetectionResult]:
    268     """
    269     Transfer of a numpy array and call of pytesseract. Return of the detection results.
    270 
    271     :param np_img: image as numpy array
    272     :return: A list of DetectionResult
    273     """
--> 274     detection_results = predict_text(
    275         np_img,
    276         supported_languages=self.config.LANGUAGES,
    277         text_lines=self.config.LINES,
    278         config=config_to_cli_str(self.config, "LANGUAGES", "LINES"),
    279     )
    280     return detection_results

File ~/Library/Caches/pypoetry/virtualenvs/challenges-Ho27vFAF-py3.8/lib/python3.8/site-packages/deepdoctection/extern/tessocr.py:214, in predict_text(np_img, supported_languages, text_lines, config)
    202 all_results = []
    204 for caption in zip(
    205     results["left"],
    206     results["top"],
   (...)
    212     results["line_num"],
    213 ):
--> 214     if int(caption[4]) != -1:
    215         word = DetectionResult(
    216             box=[caption[0], caption[1], caption[0] + caption[2], caption[1] + caption[3]],
    217             score=caption[4] / 100,
   (...)
    222             class_name=names.C.WORD,
    223         )
    224         all_results.append(word)

ValueError: invalid literal for int() with base 10: '95.345306'
```

**Desktop (please complete the following information, if any other than the one in the install requirements):**
 - OS: 12.2.1

**Additional context** 🧬
Used `make install-dd-pt` to install from source as well as brew install tesseract-lang. Also installed the missing torch-vision dependency.



Discussion / hints:
Thank you for reporting! 

I was able to reproduce the issue and have provided a fix with cf26a0c . 

Fix patch:
diff --git a/deepdoctection/__init__.py b/deepdoctection/__init__.py
index e0eea900..51e9c3ae 100644
--- a/deepdoctection/__init__.py
+++ b/deepdoctection/__init__.py
@@ -4,6 +4,7 @@
 """
 Init file for deepdoctection package
 """
+from packaging import version
 
 from .analyzer import *
 from .dataflow import *  # pylint: disable = W0622
@@ -15,7 +16,7 @@
 from .pipe import *
 from .train import *
 from .utils import *
-from .utils.file_utils import pytorch_available, tf_available
+from .utils.file_utils import get_tf_version, pytorch_available, tf_available
 from .utils.logger import logger
 
 __version__ = 0.12
@@ -25,3 +26,19 @@
         "Neither Tensorflow or Pytorch are available. You will not be able to use any Deep Learning model from"
         "the library."
     )
+
+# disable TF warnings for versions > 2.4.1
+if tf_available():
+    if version.parse(get_tf_version()) > version.parse("2.4.1"):
+        os.environ["TF_CPP_MIN_LOG_LEVEL"] = "2"
+    try:
+        import tensorflow.python.util.deprecation as deprecation  # type: ignore # pylint: disable=E0611,R0402
+
+        deprecation._PRINT_DEPRECATION_WARNINGS = False  # pylint: disable=W0212
+    except Exception:  # pylint: disable=W0703
+        try:
+            from tensorflow.python.util import deprecation  # type: ignore # pylint: disable=E0611
+
+            deprecation._PRINT_DEPRECATION_WARNINGS = False  # pylint: disable=W0212
+        except Exception:  # pylint: disable=W0703
+            pass
diff --git a/deepdoctection/analyzer/dd.py b/deepdoctection/analyzer/dd.py
index f54078e4..5d5d9a9d 100644
--- a/deepdoctection/analyzer/dd.py
+++ b/deepdoctection/analyzer/dd.py
@@ -23,7 +23,7 @@
 from shutil import copyfile
 from typing import List, Optional, Tuple, Union
 
-from ..extern.model import ModelDownloadManager
+from ..extern.model import ModelCatalog, ModelDownloadManager
 from ..extern.tessocr import TesseractOcrDetector
 from ..pipe.base import PipelineComponent, PredictorPipelineComponent
 from ..pipe.cell import SubImageLayoutService
@@ -162,18 +162,19 @@ def get_dd_analyzer(
     if tensorpack_available():
         disable_tp_layer_logging()
 
-    # setup layout service
-    categories_layout = {"1": names.C.TEXT, "2": names.C.TITLE, "3": names.C.LIST, "4": names.C.TAB, "5": names.C.FIG}
-
     d_layout: Union[D2FrcnnDetector, TPFrcnnDetector]
     if lib == "TF":
-        layout_config_path = os.path.join(get_configs_dir_path(), cfg.CONFIG.TPLAYOUT)
+        layout_config_path = ModelCatalog.get_full_path_configs(cfg.CONFIG.TPLAYOUT)
         layout_weights_path = ModelDownloadManager.maybe_download_weights_and_configs(cfg.WEIGHTS.TPLAYOUT)
+        categories_layout = ModelCatalog.get_profile(cfg.WEIGHTS.TPLAYOUT).categories
+        assert categories_layout is not None
         assert layout_weights_path is not None
         d_layout = TPFrcnnDetector(layout_config_path, layout_weights_path, categories_layout)
     else:
-        layout_config_path = os.path.join(get_configs_dir_path(), cfg.CONFIG.D2LAYOUT)
+        layout_config_path = ModelCatalog.get_full_path_configs(cfg.CONFIG.D2LAYOUT)
         layout_weights_path = ModelDownloadManager.maybe_download_weights_and_configs(cfg.WEIGHTS.D2LAYOUT)
+        categories_layout = ModelCatalog.get_profile(cfg.WEIGHTS.D2LAYOUT).categories
+        assert categories_layout is not None
         assert layout_weights_path is not None
         d_layout = D2FrcnnDetector(layout_config_path, layout_weights_path, categories_layout, device=device)
     layout = ImageLayoutService(d_layout, to_image=True, crop_image=True)
@@ -181,27 +182,33 @@ def get_dd_analyzer(
 
     # setup tables service
     if tables:
-        categories_cell = {"1": names.C.CELL}
-        categories_item = {"1": names.C.ROW, "2": names.C.COL}
         d_cell: Optional[Union[D2FrcnnDetector, TPFrcnnDetector]]
         d_item: Union[D2FrcnnDetector, TPFrcnnDetector]
         if lib == "TF":
-            cell_config_path = os.path.join(get_configs_dir_path(), cfg.CONFIG.TPCELL)
+            cell_config_path = ModelCatalog.get_full_path_configs(cfg.CONFIG.TPCELL)
             cell_weights_path = ModelDownloadManager.maybe_download_weights_and_configs(cfg.WEIGHTS.TPCELL)
+            categories_cell = ModelCatalog.get_profile(cfg.WEIGHTS.TPCELL).categories
+            assert categories_cell is not None
             d_cell = TPFrcnnDetector(
                 cell_config_path,
                 cell_weights_path,
                 categories_cell,
             )
-            item_config_path = os.path.join(get_configs_dir_path(), cfg.CONFIG.TPITEM)
+            item_config_path = ModelCatalog.get_full_path_configs(cfg.CONFIG.TPITEM)
             item_weights_path = ModelDownloadManager.maybe_download_weights_and_configs(cfg.WEIGHTS.TPITEM)
+            categories_item = ModelCatalog.get_profile(cfg.WEIGHTS.TPITEM).categories
+            assert categories_item is not None
             d_item = TPFrcnnDetector(item_config_path, item_weights_path, categories_item)
         else:
-            cell_config_path = os.path.join(get_configs_dir_path(), cfg.CONFIG.D2CELL)
+            cell_config_path = ModelCatalog.get_full_path_configs(cfg.CONFIG.D2CELL)
             cell_weights_path = ModelDownloadManager.maybe_download_weights_and_configs(cfg.WEIGHTS.D2CELL)
+            categories_cell = ModelCatalog.get_profile(cfg.WEIGHTS.D2CELL).categories
+            assert categories_cell is not None
             d_cell = D2FrcnnDetector(cell_config_path, cell_weights_path, categories_cell, device=device)
-            item_config_path = os.path.join(get_configs_dir_path(), cfg.CONFIG.D2ITEM)
+            item_config_path = ModelCatalog.get_full_path_configs(cfg.CONFIG.D2ITEM)
             item_weights_path = ModelDownloadManager.maybe_download_weights_and_configs(cfg.WEIGHTS.D2ITEM)
+            categories_item = ModelCatalog.get_profile(cfg.WEIGHTS.D2ITEM).categories
+            assert categories_item is not None
             d_item = D2FrcnnDetector(item_config_path, item_weights_path, categories_item, device=device)
 
         cell = SubImageLayoutService(d_cell, names.C.TAB, {1: 6}, True)
diff --git a/deepdoctection/datapoint/convert.py b/deepdoctection/datapoint/convert.py
index a8816d94..0a74e695 100644
--- a/deepdoctection/datapoint/convert.py
+++ b/deepdoctection/datapoint/convert.py
@@ -42,6 +42,7 @@
     "convert_pdf_bytes_to_np_array_v2",
     "box_to_point4",
     "point4_to_box",
+    "as_dict",
 ]
 
 
diff --git a/deepdoctection/datasets/__init__.py b/deepdoctection/datasets/__init__.py
index 22b64291..973be370 100644
--- a/deepdoctection/datasets/__init__.py
+++ b/deepdoctection/datasets/__init__.py
@@ -28,5 +28,5 @@
 from .dataflow_builder import DataFlowBaseBuilder
 from .info import *
 from .instances import *
-from .registry import DatasetRegistry
+from .registry import *
 from .save import *
diff --git a/deepdoctection/datasets/base.py b/deepdoctection/datasets/base.py
index 3f5a6299..c454b3ba 100644
--- a/deepdoctection/datasets/base.py
+++ b/deepdoctection/datasets/base.py
@@ -75,8 +75,9 @@ def _categories(self) -> DatasetCategories:
 
         raise NotImplementedError
 
+    @classmethod
     @abstractmethod
-    def _info(self) -> DatasetInfo:
+    def _info(cls) -> DatasetInfo:
         """
         Construct the DatasetInfo object.
         """
@@ -183,7 +184,8 @@ def _categories(self) -> DatasetCategories:
             *(dataset.dataflow.categories for dataset in self.datasets if dataset.dataflow.categories is not None)
         )
 
-    def _info(self) -> DatasetInfo:
+    @classmethod
+    def _info(cls) -> DatasetInfo:
         return DatasetInfo(name="merge")
 
     def _builder(self) -> DataFlowBaseBuilder:
diff --git a/deepdoctection/datasets/instances/fintabnet.py b/deepdoctection/datasets/instances/fintabnet.py
index 8c2102a1..64b26f03 100644
--- a/deepdoctection/datasets/instances/fintabnet.py
+++ b/deepdoctection/datasets/instances/fintabnet.py
@@ -50,30 +50,31 @@
 from ..base import _BuiltInDataset
 from ..dataflow_builder import DataFlowBaseBuilder
 from ..info import DatasetCategories, DatasetInfo
+from ..registry import dataset_registry
 
 _NAME = "fintabnet"
 _DESCRIPTION = (
-    "FinTabNet dataset contains complex tables from the annual reports of S&P 500 companies with detailed"
-    " table structure annotations to help train and test structure recognition. "
-    "To generate the cell structure labels, one uses token matching between the PDF and HTML version"
-    " of each article from public records and filings. Financial tables often have diverse styles when "
-    "compared to ones in scientific and government documents, with fewer graphical lines and larger"
-    " gaps within each table and more colour variations. Fintabnet can be used for training cell "
-    "detection models as well as for semantic table understanding algorithms. "
-    "For detection it has cell bounding box annotations as well as precisely described table semantics "
-    "like row - and column numbers and row and col spans. The dataflow builder can also "
-    "return captions of bounding boxes of rows and columns. Moreover, various filter conditions on "
-    "the table structure are available: maximum cell numbers, maximal row and column numbers and their "
-    "minimum equivalents can be used as filter condition. Header information of cells are not available. "
-    "As work around you can artificially add header sub-category to every first row cell. "
-    "All later row cells will receive a no header  sub-category. Note, that this assumption "
+    "FinTabNet dataset contains complex tables from the annual reports of S&P 500 companies with detailed \n"
+    " table structure annotations to help train and test structure recognition. \n"
+    "To generate the cell structure labels, one uses token matching between the PDF and HTML version \n"
+    " of each article from public records and filings. Financial tables often have diverse styles when \n"
+    "compared to ones in scientific and government documents, with fewer graphical lines and larger \n"
+    " gaps within each table and more colour variations. Fintabnet can be used for training cell \n"
+    "detection models as well as for semantic table understanding algorithms. \n"
+    "For detection it has cell bounding box annotations as well as precisely described table semantics \n"
+    "like row - and column numbers and row and col spans. The dataflow builder can also \n"
+    "return captions of bounding boxes of rows and columns. Moreover, various filter conditions on \n"
+    "the table structure are available: maximum cell numbers, maximal row and column numbers and their \n"
+    "minimum equivalents can be used as filter condition. Header information of cells are not available. \n"
+    "As work around you can artificially add header sub-category to every first row cell. \n"
+    "All later row cells will receive a no header  sub-category. Note, that this assumption \n"
     "will generate noise."
 )
 _LICENSE = (
-    "Community Data License Agreement – Permissive – Version 1.0  ---- "
-    "This is the Community Data License Agreement – Permissive, Version 1.0 (“Agreement”).  "
-    "Data is provided to You under this Agreement by each of the Data Providers.  Your exercise of any of"
-    " the rights and permissions granted below constitutes Your acceptance and agreement to be bound by"
+    "Community Data License Agreement – Permissive – Version 1.0  ---- \n"
+    "This is the Community Data License Agreement – Permissive, Version 1.0 (“Agreement”).  \n"
+    "Data is provided to You under this Agreement by each of the Data Providers.  Your exercise of any of \n"
+    " the rights and permissions granted below constitutes Your acceptance and agreement to be bound by \n"
     " the terms and conditions of this Agreement."
 )
 _URL = (
@@ -103,6 +104,7 @@
 }
 
 
+@dataset_registry.register("fintabnet")
 class Fintabnet(_BuiltInDataset):
     """
     Fintabnet
@@ -110,7 +112,8 @@ class Fintabnet(_BuiltInDataset):
 
     _name = _NAME
 
-    def _info(self) -> DatasetInfo:
+    @classmethod
+    def _info(cls) -> DatasetInfo:
         return DatasetInfo(name=_NAME, description=_DESCRIPTION, license=_LICENSE, url=_URL, splits=_SPLITS)
 
     def _categories(self) -> DatasetCategories:
diff --git a/deepdoctection/datasets/instances/funsd.py b/deepdoctection/datasets/instances/funsd.py
index 5a12f1fb..2e487fd1 100644
--- a/deepdoctection/datasets/instances/funsd.py
+++ b/deepdoctection/datasets/instances/funsd.py
@@ -46,17 +46,18 @@
 from ..base import _BuiltInDataset
 from ..dataflow_builder import DataFlowBaseBuilder
 from ..info import DatasetCategories
+from ..registry import dataset_registry
 
 _NAME = "funsd"
 _DESCRIPTION = (
-    "FUNSD: Form Understanding in Noisy Scanned Documents. A dataset for Text Detection, Optical Character"
+    "FUNSD: Form Understanding in Noisy Scanned Documents. A dataset for Text Detection, Optical Character \n"
     " Recognition, Spatial Layout Analysis and Form Understanding."
 )
 _LICENSE = (
-    "Use of the FUNSD Dataset is solely for non-commercial, research and educational purposes. The FUNSD  "
-    "Dataset include annotations and images of real scanned forms. Licensee’s use of the images is governed "
-    "by a copyright. Licensee is solely responsible for determining what additional licenses, clearances, "
-    "consents and releases, if any, must be obtained for its use of the images. Original images are part of "
+    "Use of the FUNSD Dataset is solely for non-commercial, research and educational purposes. The FUNSD  \n"
+    "Dataset include annotations and images of real scanned forms. Licensee’s use of the images is governed \n"
+    "by a copyright. Licensee is solely responsible for determining what additional licenses, clearances, \n"
+    "consents and releases, if any, must be obtained for its use of the images. Original images are part of \n"
     "the dataset RVL-CDIP."
 )
 
@@ -75,6 +76,7 @@
 }
 
 
+@dataset_registry.register("funsd")
 class Funsd(_BuiltInDataset):
     """
     Funsd
@@ -82,7 +84,8 @@ class Funsd(_BuiltInDataset):
 
     _name = _NAME
 
-    def _info(self) -> DatasetInfo:
+    @classmethod
+    def _info(cls) -> DatasetInfo:
         return DatasetInfo(name=_NAME, description=_DESCRIPTION, license=_LICENSE, url=_URL, splits=_SPLITS)
 
     def _categories(self) -> DatasetCategories:
diff --git a/deepdoctection/datasets/instances/iiitar13k.py b/deepdoctection/datasets/instances/iiitar13k.py
index 39c24b66..567301da 100644
--- a/deepdoctection/datasets/instances/iiitar13k.py
+++ b/deepdoctection/datasets/instances/iiitar13k.py
@@ -52,16 +52,17 @@
 from ..base import _BuiltInDataset
 from ..dataflow_builder import DataFlowBaseBuilder
 from ..info import DatasetCategories
+from ..registry import dataset_registry
 
 _NAME = "iiitar13k"
 
 _DESCRIPTION = (
-    "[excerpt from Ajoy Mondal et. all. IIIT-AR-13K: A New Dataset for Graphical Object Detection in "
-    "Documents] ...This dataset, IIIT-AR-13K, is created by manually annotating the bounding boxes of "
-    "graphical or page objects in publicly available annual reports. This dataset contains a total of 13K "
-    "annotated page images with objects in five different popular categories — table, figure, natural "
-    "image, logo, and signature. This is the largest manually annotated dataset for graphical object "
-    "detection. Annual reports created in multiple languages for several years from various companies "
+    "[excerpt from Ajoy Mondal et. all. IIIT-AR-13K: A New Dataset for Graphical Object Detection in \n"
+    "Documents] ...This dataset, IIIT-AR-13K, is created by manually annotating the bounding boxes of \n"
+    "graphical or page objects in publicly available annual reports. This dataset contains a total of 13K \n"
+    "annotated page images with objects in five different popular categories — table, figure, natural \n"
+    "image, logo, and signature. This is the largest manually annotated dataset for graphical object \n"
+    "detection. Annual reports created in multiple languages for several years from various companies \n"
     "bring high diversity into this dataset."
 )
 
@@ -80,6 +81,7 @@
 _INIT_CATEGORIES = [names.C.TAB, names.C.LOGO, names.C.FIG, names.C.SIGN]
 
 
+@dataset_registry.register("iiitar13k")
 class IIITar13K(_BuiltInDataset):
     """
     IIITar13K
@@ -87,7 +89,8 @@ class IIITar13K(_BuiltInDataset):
 
     _name = _NAME
 
-    def _info(self) -> DatasetInfo:
+    @classmethod
+    def _info(cls) -> DatasetInfo:
         return DatasetInfo(name=_NAME, description=_DESCRIPTION, license=_LICENSE, url=_URL, splits=_SPLITS)
 
     def _categories(self) -> DatasetCategories:
diff --git a/deepdoctection/datasets/instances/publaynet.py b/deepdoctection/datasets/instances/publaynet.py
index 3da3175a..807d01b1 100644
--- a/deepdoctection/datasets/instances/publaynet.py
+++ b/deepdoctection/datasets/instances/publaynet.py
@@ -41,19 +41,20 @@
 from ..base import _BuiltInDataset
 from ..dataflow_builder import DataFlowBaseBuilder
 from ..info import DatasetCategories
+from ..registry import dataset_registry
 
 _NAME = "publaynet"
 _DESCRIPTION = (
     "PubLayNet is a dataset for document layout analysis. It contains images of research papers and "
-    "articles"
+    "articles \n"
     " and annotations for various elements in a page such as “text”, “list”, “figure” etc in these "
-    "research"
-    " paper images. The dataset was obtained by automatically matching the XML representations and the"
-    " content of over 1 million PDF articles that are publicly available on PubMed Central."
+    "research \n"
+    " paper images. The dataset was obtained by automatically matching the XML representations and the \n"
+    " content of over 1 million PDF articles that are publicly available on PubMed Central. \n"
 )
 _LICENSE = (
-    "The annotations in this dataset belong to IBM and are licensed under a Community Data License Agreement"
-    " – Permissive – Version 1.0 License. IBM does not own the copyright of the images. Use of the images"
+    "The annotations in this dataset belong to IBM and are licensed under a Community Data License Agreement \n"
+    " – Permissive – Version 1.0 License. IBM does not own the copyright of the images. Use of the images \n"
     " must abide by the PMC Open Access Subset Terms of Use."
 )
 _URL = (
@@ -68,6 +69,7 @@
 _INIT_CATEGORIES = [names.C.TEXT, names.C.TITLE, names.C.LIST, names.C.TAB, names.C.FIG]
 
 
+@dataset_registry.register("publaynet")
 class Publaynet(_BuiltInDataset):
     """
     Publaynet
@@ -75,7 +77,8 @@ class Publaynet(_BuiltInDataset):
 
     _name = _NAME
 
-    def _info(self) -> DatasetInfo:
+    @classmethod
+    def _info(cls) -> DatasetInfo:
         return DatasetInfo(name=_NAME, description=_DESCRIPTION, license=_LICENSE, url=_URL, splits=_SPLITS)
 
     def _categories(self) -> DatasetCategories:
diff --git a/deepdoctection/datasets/instances/pubtables1m.py b/deepdoctection/datasets/instances/pubtables1m.py
index c1c854d1..868e7dfe 100644
--- a/deepdoctection/datasets/instances/pubtables1m.py
+++ b/deepdoctection/datasets/instances/pubtables1m.py
@@ -51,16 +51,17 @@
 from ..base import _BuiltInDataset
 from ..dataflow_builder import DataFlowBaseBuilder
 from ..info import DatasetCategories
+from ..registry import dataset_registry
 
 _NAME = "pubtables1m"
 
 _DESCRIPTION = (
-    "[excerpt from Ajoy Mondal et. all. IIIT-AR-13K: A New Dataset for Graphical Object Detection in "
-    "Documents] ...we release PubTables1M, a dataset of nearly one million tables from PubMed Central Open Access"
-    " scientific articles, with complete bounding box annotations for both table detection and structure recognition."
-    " In addition to being the largest dataset of its kind, PubTables1M addresses issues such as inherent ambiguity"
-    " and lack of consistency in the source annotations, attempting to provide definitive ground truth labels through"
-    " a thorough canonicalization and quality control process. "
+    "[excerpt from Ajoy Mondal et. all. IIIT-AR-13K: A New Dataset for Graphical Object Detection in \n"
+    "Documents] ...we release PubTables1M, a dataset of nearly one million tables from PubMed Central Open Access \n"
+    " scientific articles, with complete bounding box annotations for both table detection and structure \n"
+    "recognition. In addition to being the largest dataset of its kind, PubTables1M addresses issues such as \n"
+    " inherent ambiguity and lack of consistency in the source annotations, attempting to provide definitive ground \n"
+    " truth labels through a thorough canonicalization and quality control process. "
 )
 
 _LICENSE = "Community Data License Agreement – Permissive, Version 1.0"
@@ -78,6 +79,7 @@
 _INIT_CATEGORIES = [names.C.TAB]
 
 
+@dataset_registry.register("pubtables1m")
 class Pubtables1M(_BuiltInDataset):
     """
     Pubtables1M
@@ -85,7 +87,8 @@ class Pubtables1M(_BuiltInDataset):
 
     _name = _NAME
 
-    def _info(self) -> DatasetInfo:
+    @classmethod
+    def _info(cls) -> DatasetInfo:
         return DatasetInfo(name=_NAME, description=_DESCRIPTION, license=_LICENSE, url=_URL, splits=_SPLITS)
 
     def _categories(self) -> DatasetCategories:
diff --git a/deepdoctection/datasets/instances/pubtabnet.py b/deepdoctection/datasets/instances/pubtabnet.py
index dca3571b..e24f5bde 100644
--- a/deepdoctection/datasets/instances/pubtabnet.py
+++ b/deepdoctection/datasets/instances/pubtabnet.py
@@ -42,26 +42,27 @@
 from ..base import _BuiltInDataset
 from ..dataflow_builder import DataFlowBaseBuilder
 from ..info import DatasetCategories
+from ..registry import dataset_registry
 
 _NAME = "pubtabnet"
 _DESCRIPTION = (
-    "PubTabNet is a large dataset for image-based table recognition, containing 568k+ images of "
-    "tabular data annotated with the corresponding HTML representation of the tables. The table images"
-    " are extracted from the scientific publications included in the PubMed Central Open Access Subset"
-    " (commercial use collection). Table regions are identified by matching the PDF format and"
-    " the XML format of the articles in the PubMed Central Open Access Subset. More details are"
-    " available in our paper 'Image-based table recognition: data, model, and evaluation'. "
-    "Pubtabnet can be used for training cell detection models as well as for semantic table "
-    "understanding algorithms. For detection it has cell bounding box annotations as "
-    "well as precisely described table semantics like row - and column numbers and row and col spans. "
-    "Moreover, every cell can be classified as header or non-header cell. The dataflow builder can also "
-    "return captions of bounding boxes of rows and columns. Moreover, various filter conditions on "
-    "the table structure are available: maximum cell numbers, maximal row and column numbers and their "
+    "PubTabNet is a large dataset for image-based table recognition, containing 568k+ images of \n"
+    "tabular data annotated with the corresponding HTML representation of the tables. The table images \n"
+    " are extracted from the scientific publications included in the PubMed Central Open Access Subset \n"
+    " (commercial use collection). Table regions are identified by matching the PDF format and \n"
+    " the XML format of the articles in the PubMed Central Open Access Subset. More details are \n"
+    " available in our paper 'Image-based table recognition: data, model, and evaluation'. \n"
+    "Pubtabnet can be used for training cell detection models as well as for semantic table \n"
+    "understanding algorithms. For detection it has cell bounding box annotations as \n"
+    "well as precisely described table semantics like row - and column numbers and row and col spans. \n"
+    "Moreover, every cell can be classified as header or non-header cell. The dataflow builder can also \n"
+    "return captions of bounding boxes of rows and columns. Moreover, various filter conditions on \n"
+    "the table structure are available: maximum cell numbers, maximal row and column numbers and their \n"
     "minimum equivalents can be used as filter condition"
 )
 _LICENSE = (
-    "The annotations in this dataset belong to IBM and are licensed under a Community Data License Agreement"
-    " – Permissive – Version 1.0 License. IBM does not own the copyright of the images."
+    "The annotations in this dataset belong to IBM and are licensed under a Community Data License Agreement \n"
+    " – Permissive – Version 1.0 License. IBM does not own the copyright of the images. \n"
     " Use of the images must abide by the PMC Open Access Subset Terms of Use."
 )
 _URL = (
@@ -89,6 +90,7 @@
 }
 
 
+@dataset_registry.register("pubtabnet")
 class Pubtabnet(_BuiltInDataset):
     """
     Pubtabnet
@@ -96,7 +98,8 @@ class Pubtabnet(_BuiltInDataset):
 
     _name = _NAME
 
-    def _info(self) -> DatasetInfo:
+    @classmethod
+    def _info(cls) -> DatasetInfo:
         return DatasetInfo(name=_NAME, description=_DESCRIPTION, license=_LICENSE, url=_URL, splits=_SPLITS)
 
     def _categories(self) -> DatasetCategories:
diff --git a/deepdoctection/datasets/instances/xfund.py b/deepdoctection/datasets/instances/xfund.py
index 0e70cb69..bfe29463 100644
--- a/deepdoctection/datasets/instances/xfund.py
+++ b/deepdoctection/datasets/instances/xfund.py
@@ -41,15 +41,16 @@
 from ..base import _BuiltInDataset
 from ..dataflow_builder import DataFlowBaseBuilder
 from ..info import DatasetCategories
+from ..registry import dataset_registry
 
 _NAME = "xfund"
 _DESCRIPTION = (
-    "XFUND is a multilingual form understanding benchmark dataset that includes human-labeled forms with "
+    "XFUND is a multilingual form understanding benchmark dataset that includes human-labeled forms with \n"
     "key-value pairs in 7 languages (Chinese, Japanese, Spanish, French, Italian, German, Portuguese)."
 )
 _LICENSE = (
-    "The content of this project itself is licensed under the Attribution-NonCommercial-ShareAlike 4.0 "
-    "International (CC BY-NC-SA 4.0) Portions of the source code are based on the transformers project. "
+    "The content of this project itself is licensed under the Attribution-NonCommercial-ShareAlike 4.0 \n"
+    "International (CC BY-NC-SA 4.0) Portions of the source code are based on the transformers project. \n"
     "Microsoft Open Source Code of Conduct"
 )
 _URL = "https://github.com/doc-analysis/XFUND/releases/tag/v1.0"
@@ -74,6 +75,7 @@
 _LANGUAGES = ["de", "es", "fr", "it", "ja", "pt", "zh"]
 
 
+@dataset_registry.register("xfund")
 class Xfund(_BuiltInDataset):
     """
     Xfund
@@ -81,7 +83,8 @@ class Xfund(_BuiltInDataset):
 
     _name = _NAME
 
-    def _info(self) -> DatasetInfo:
+    @classmethod
+    def _info(cls) -> DatasetInfo:
         return DatasetInfo(name=_NAME, description=_DESCRIPTION, license=_LICENSE, url=_URL, splits=_SPLITS)
 
     def _categories(self) -> DatasetCategories:
diff --git a/deepdoctection/datasets/registry.py b/deepdoctection/datasets/registry.py
index 91b7f9d7..cac43bb8 100644
--- a/deepdoctection/datasets/registry.py
+++ b/deepdoctection/datasets/registry.py
@@ -19,60 +19,52 @@
 Module for DatasetRegistry
 """
 
-import inspect
-from typing import Dict, List, Type
+import catalogue  # type: ignore
+from tabulate import tabulate
+from termcolor import colored
 
-from deepdoctection.datasets import instances
-from deepdoctection.datasets.base import DatasetBase
+from .base import DatasetBase
 
-__all__ = ["DatasetRegistry"]
+__all__ = ["dataset_registry", "get_dataset", "print_dataset_infos"]
 
 
-_DATASETS: Dict[str, Type[DatasetBase]] = dict(
-    (m[1]._name, m[1])  # pylint: disable=W0212
-    for m in inspect.getmembers(instances, inspect.isclass)
-    if issubclass(m[1], DatasetBase) and m[0] != "DatasetBase"
-)
+dataset_registry = catalogue.create("deepdoctection", "datasets", entry_points=True)
 
 
-class DatasetRegistry:
+def get_dataset(name: str) -> DatasetBase:
     """
-    The DatasetRegistry is the object for receiving datasets and registering new ones. Use the registry to
-    easily generate instances of a dataset.
-    """
-
-    @staticmethod
-    def print_dataset_names() -> None:
-        """
-        Print a list of registered dataset names
-        """
-        print(list(_DATASETS.keys()))
-
-    @staticmethod
-    def get_dataset(name: str) -> DatasetBase:
-        """
-        Returns an instance of a dataset with a given name.
+    Returns an instance of a dataset with a given name.
 
-        :param name: A dataset name
-        :return: An instance of a dataset
-        """
-        return _DATASETS[name]()
+    :param name: A dataset name
+    :return: An instance of a dataset
+    """
+    return dataset_registry.get(name)()
 
-    @staticmethod
-    def register_dataset(name: str, dataset_class: Type[DatasetBase]) -> None:
-        """
-        Register a new dataset.
 
-        :param name: A dataset name
-        :param dataset_class: A new dataset class to add to the registry.
-        """
-        _DATASETS[name] = dataset_class
+def print_dataset_infos(add_license: bool = True, add_info: bool = True) -> None:
+    """
+    Prints a table with all registered datasets and some basic information (name, license and optionally description)
 
-    @staticmethod
-    def get_dataset_names() -> List[str]:
-        """
-        Get a list of available dataset names. This will not print the names.
+    :param add_license: Whether to add the license type of the dataset
+    :param add_info: Whether to add a description of the dataset
+    """
 
-        :return: A list of dataset names.
-        """
-        return list(_DATASETS.keys())
+    data = dataset_registry.get_all()
+    num_columns = min(6, len(data))
+    infos = []
+    for dataset in data.items():
+        info = [dataset[0]]
+        if add_license:
+            info.append(dataset[1]._info().license)  # pylint: disable=W0212
+        if add_info:
+            info.append(dataset[1]._info().description)  # pylint: disable=W0212
+        infos.append(info)
+    header = ["dataset"]
+    if add_license:
+        header.append("license")
+    if add_info:
+        header.append("description")
+    table = tabulate(
+        infos, headers=header * (num_columns // 2), tablefmt="fancy_grid", stralign="left", numalign="left"
+    )
+    print(colored(table, "cyan"))
diff --git a/deepdoctection/eval/accmetric.py b/deepdoctection/eval/accmetric.py
index 3647e8f1..d1a63c52 100644
--- a/deepdoctection/eval/accmetric.py
+++ b/deepdoctection/eval/accmetric.py
@@ -31,6 +31,7 @@
 from ..mapper.cats import image_to_cat_id
 from ..utils.detection_types import JsonDict
 from .base import MetricBase
+from .registry import metric_registry
 
 __all__ = ["AccuracyMetric", "ConfusionMetric"]
 
@@ -63,6 +64,7 @@ def accuracy(label_gt: List[np.int32], label_predictions: List[np.int32], masks:
     return accuracy_score(np_label_gt, np_label_predictions)
 
 
+@metric_registry.register("accuracy")
 class AccuracyMetric(MetricBase):
     """
     Metric induced by :func:`accuracy`
@@ -183,6 +185,7 @@ def confusion(
     return confusion_matrix(np_label_gt, np_label_predictions)
 
 
+@metric_registry.register("confusion")
 class ConfusionMetric(AccuracyMetric):
     """
     Metric induced by :func:`confusion`
diff --git a/deepdoctection/eval/cocometric.py b/deepdoctection/eval/cocometric.py
index 8dd68451..dc77c6d6 100644
--- a/deepdoctection/eval/cocometric.py
+++ b/deepdoctection/eval/cocometric.py
@@ -31,6 +31,7 @@
 from ..mapper.cocostruct import image_to_coco
 from ..utils.detection_types import JsonDict
 from .base import MetricBase
+from .registry import metric_registry
 
 __all__ = ["CocoMetric"]
 
@@ -105,6 +106,7 @@ def _summarize(  # type: ignore
 COCOeval.summarize_f1 = _summarize
 
 
+@metric_registry.register("coco")
 class CocoMetric(MetricBase):
     """
     Metric induced by :class:`pycocotools.cocoeval.COCOeval`.
diff --git a/deepdoctection/eval/registry.py b/deepdoctection/eval/registry.py
index db92de2f..1f7659da 100644
--- a/deepdoctection/eval/registry.py
+++ b/deepdoctection/eval/registry.py
@@ -19,54 +19,6 @@
 Module for MetricRegistry
 """
 
-from typing import Dict, List, Type
+import catalogue  # type: ignore
 
-from ..eval.base import MetricBase
-from .accmetric import AccuracyMetric, ConfusionMetric
-from .cocometric import CocoMetric
-
-_METRICS: Dict[str, Type[MetricBase]] = dict(
-    [("accuracy", AccuracyMetric), ("confusion", ConfusionMetric), ("coco", CocoMetric)]
-)
-
-
-class MetricRegistry:
-    """
-    The MetricRegistry is the class for receiving metrics and registering new ones.
-    """
-
-    @staticmethod
-    def print_metric_names() -> None:
-        """
-        Print a list of registered metric names
-        """
-        print(list(_METRICS.keys()))
-
-    @staticmethod
-    def get_metric(name: str) -> Type[MetricBase]:
-        """
-        Returns metric class with a given name
-
-        :param name: metric name
-        :return: An metric class
-        """
-        return _METRICS[name]
-
-    @staticmethod
-    def register_metric(name: str, metric: Type[MetricBase]) -> None:
-        """
-        Register a new metric.
-
-        :param name: A metric name
-        :param metric: A new metric class to add to the registry.
-        """
-        _METRICS[name] = metric
-
-    @staticmethod
-    def get_metric_names() -> List[str]:
-        """
-        Get a list of available metric names
-
-        :return: A list of names
-        """
-        return list(_METRICS.keys())
+metric_registry = catalogue.create("deepdoctection", "metrics", entry_points=True)
diff --git a/deepdoctection/extern/fastlang.py b/deepdoctection/extern/fastlang.py
index 92d32599..a756ef62 100644
--- a/deepdoctection/extern/fastlang.py
+++ b/deepdoctection/extern/fastlang.py
@@ -19,7 +19,7 @@
 Deepdoctection wrappers for fasttext language detection models
 """
 
-from typing import List
+from typing import Dict, List
 
 from ..utils.file_utils import Requirement, fasttext_available, get_fasttext_requirement
 from .base import DetectionResult, LanguageDetector, PredictorBase
@@ -27,185 +27,6 @@
 if fasttext_available():
     from fasttext import load_model  # type: ignore
 
-FASTTEXT_GEO691_2 = {
-    "__label__en": "eng",
-    "__label__ru": "rus",
-    "__label__de": "deu",
-    "__label__fr": "fre",
-    "__label__it": "ita",
-    "__label__ja": "jpn",
-    "__label__es": "spa",
-    "__label__ceb": "ceb",
-    "__label__tr": "tur",
-    "__label__pt": "por",
-    "__label__uk": "ukr",
-    "__label__eo": "epo",
-    "__label__pl": "pol",
-    "__label__sv": "swe",
-    "__label__nl": "dut",
-    "__label__he": "heb",
-    "__label__zh": "chi",
-    "__label__hu": "hun",
-    "__label__ar": "ara",
-    "__label__ca": "cat",
-    "__label__fi": "fin",
-    "__label__cs": "cze",
-    "__label__fa": "per",
-    "__label__sr": "srp",
-    "__label__el": "gre",
-    "__label__vi": "vie",
-    "__label__bg": "bul",
-    "__label__ko": "kor",
-    "__label__no": "nor",
-    "__label__mk": "mac",
-    "__label__ro": "rum",
-    "__label__id": "ind",
-    "__label__th": "tha",
-    "__label__hy": "arm",
-    "__label__da": "dan",
-    "__label__ta": "tam",
-    "__label__hi": "hin",
-    "__label__hr": "hrv",
-    "__label__sh": "",
-    "__label__be": "bel",
-    "__label__ka": "geo",
-    "__label__te": "tel",
-    "__label__kk": "kaz",
-    "__label__war": "war",
-    "__label__lt": "lit",
-    "__label__gl": "glg",
-    "__label__sk": "slo",
-    "__label__bn": "ben",
-    "__label__eu": "baq",
-    "__label__sl": "slv",
-    "__label__kn": "",
-    "__label__ml": "mal",
-    "__label__mr": "mar",
-    "__label__et": "est",
-    "__label__az": "aze",
-    "__label__ms": "",
-    "__label__sq": "alb",
-    "__label__la": "lat",
-    "__label__bs": "bos",
-    "__label__nn": "nno",
-    "__label__ur": "urd",
-    "__label__lv": "",
-    "__label__my": "",
-    "__label__tt": "",
-    "__label__af": "",
-    "__label__oc": "",
-    "__label__nds": "",
-    "__label__ky": "",
-    "__label__ast": "",
-    "__label__tl": "",
-    "__label__is": "",
-    "__label__ia": "",
-    "__label__si": "",
-    "__label__gu": "",
-    "__label__km": "",
-    "__label__br": "",
-    "__label__ba": "",
-    "__label__uz": "",
-    "__label__bo": "",
-    "__label__pa": "",
-    "__label__vo": "",
-    "__label__als": "",
-    "__label__ne": "",
-    "__label__cy": "",
-    "__label__jbo": "",
-    "__label__fy": "",
-    "__label__mn": "",
-    "__label__lb": "",
-    "__label__ce": "",
-    "__label__ug": "",
-    "__label__tg": "",
-    "__label__sco": "",
-    "__label__sa": "",
-    "__label__cv": "",
-    "__label__jv": "",
-    "__label__min": "",
-    "__label__io": "",
-    "__label__or": "",
-    "__label__as": "",
-    "__label__new": "",
-    "__label__ga": "",
-    "__label__mg": "",
-    "__label__an": "",
-    "__label__ckb": "",
-    "__label__sw": "",
-    "__label__bar": "",
-    "__label__lmo": "",
-    "__label__yi": ":" "",
-    "__label__arz": "",
-    "__label__mhr": "",
-    "__label__azb": "",
-    "__label__sah": "",
-    "__label__pnb": "",
-    "__label__su": "",
-    "__label__bpy": "",
-    "__label__pms": "",
-    "__label__ilo": "",
-    "__label__wuu": "",
-    "__label__ku": "",
-    "__label__ps": "",
-    "__label__ie": "",
-    "__label__xmf": "",
-    "__label__yue": "",
-    "__label__gom": "",
-    "__label__li": "",
-    "__label__mwl": "",
-    "__label__kw": "",
-    "__label__sd": "",
-    "__label__hsb": "",
-    "__label__scn": "",
-    "__label__gd": "",
-    "__label__pam": "",
-    "__label__bh": "",
-    "__label__mai": "",
-    "__label__vec": "",
-    "__label__mt": "",
-    "__label__dv": "",
-    "__label__wa": "",
-    "__label__mzn": "",
-    "__label__am": "",
-    "__label__qu": "",
-    "__label__eml": "",
-    "__label__cbk": "",
-    "__label__tk": "",
-    "__label__rm": "",
-    "__label__os": "",
-    "__label__vls": "",
-    "__label__yo": "",
-    "__label__lo": "",
-    "__label__lez": "",
-    "__label__so": "",
-    "__label__myv": "",
-    "__label__diq": "",
-    "__label__mrj": "",
-    "__label__dsb": "",
-    "__label__frr": "",
-    "__label__ht": "",
-    "__label__gn": "",
-    "__label__bxr": "",
-    "__label__kv": "",
-    "__label__sc": "",
-    "__label__nah": "",
-    "__label__krc": "",
-    "__label__bcl": "",
-    "__label__nap": "",
-    "__label__gv": "",
-    "__label__av": "",
-    "__label__rue": "",
-    "__label__xal": "",
-    "__label__pfl": "",
-    "__label__dty": "",
-    "__label__hif": "",
-    "__label__co": "",
-    "__label__lrc": "",
-    "__label__vep": "",
-    "__label__tyv": "",
-}
-
 
 class FasttextLangDetector(LanguageDetector):
     """
@@ -225,27 +46,31 @@ class FasttextLangDetector(LanguageDetector):
     .. code-block:: python
 
         path_weights = ModelCatalog.get_full_path_weights("fasttext/lid.176.bin")
-        lang_detector = FasttextLangDetector(path_weights)
+        profile = ModelCatalog.get_profile("fasttext/lid.176.bin")
+        lang_detector = FasttextLangDetector(path_weights,profile.categories)
         detection_result = lang_detector.predict("some text in some language")
 
     """
 
-    def __init__(self, path_weights: str):
+    def __init__(self, path_weights: str, categories: Dict[str, str]):
         """
         :param path_weights: path to model weights
+        :param categories: A dict with the model output label and value. We use as convention the ISO 639-2 language
+                           code.
         """
 
         super().__init__()
         self.path_weights = path_weights
         self.model = load_model(self.path_weights)
+        self.categories = categories
 
     def predict(self, text_string: str) -> DetectionResult:
         output = self.model.predict(text_string)
-        return DetectionResult(text=FASTTEXT_GEO691_2[output[0][0]], score=output[1][0])
+        return DetectionResult(text=self.categories[output[0][0]], score=output[1][0])
 
     @classmethod
     def get_requirements(cls) -> List[Requirement]:
         return [get_fasttext_requirement()]
 
     def clone(self) -> PredictorBase:
-        return self.__class__(self.path_weights)
+        return self.__class__(self.path_weights, self.categories)
diff --git a/deepdoctection/extern/model.py b/deepdoctection/extern/model.py
index dac95fe4..f3fc0a6a 100644
--- a/deepdoctection/extern/model.py
+++ b/deepdoctection/extern/model.py
@@ -21,15 +21,44 @@
 
 import os
 from copy import copy
-from typing import Any, Dict, List, Union
+from dataclasses import asdict, dataclass, field
+from typing import Any, Dict, List, Optional
 
 from huggingface_hub import cached_download, hf_hub_url  # type: ignore
+from tabulate import tabulate
+from termcolor import colored
 
 from ..utils.fs import download
 from ..utils.logger import logger
+from ..utils.settings import names
 from ..utils.systools import get_configs_dir_path, get_weights_dir_path
 
-__all__ = ["ModelCatalog", "ModelDownloadManager"]
+__all__ = ["ModelCatalog", "ModelDownloadManager", "print_model_infos"]
+
+
+@dataclass
+class ModelProfile:
+    """
+    Class for model profile. Add for each model one ModelProfile to the ModelCatalog
+    """
+
+    name: str
+    description: str
+
+    size: List[int]
+    tp_model: bool = field(default=False)
+    config: Optional[str] = field(default=None)
+    hf_repo_id: Optional[str] = field(default=None)
+    hf_model_name: Optional[str] = field(default=None)
+    hf_config_file: Optional[List[str]] = field(default=None)
+    urls: Optional[List[str]] = field(default=None)
+    categories: Optional[Dict[str, str]] = field(default=None)
+
+    def as_dict(self) -> Dict[str, Any]:
+        """
+        returns a dict of the dataclass
+        """
+        return asdict(self)
 
 
 class ModelCatalog:
@@ -37,172 +66,384 @@ class ModelCatalog:
     Catalog of some pre-trained models. The associated config file is available as well.
     """
 
-    MODELS: Dict[str, Any] = {
-        "layout/model-800000_inf_only.data-00000-of-00001": {
-            "config": "dd/tp/conf_frcnn_layout",
-            "size": [274552244, 7907],
-            "hf_repo_id": "deepdoctection/tp_casc_rcnn_X_32xd4_50_FPN_GN_2FC_publaynet_inference_only",
-            "hf_model_name": "model-800000_inf_only",
-            "hf_config_file": ["conf_frcnn_layout.yaml"],
-            "tp_model": True,
-        },
-        "cell/model-1800000_inf_only.data-00000-of-00001": {
-            "config": "dd/tp/conf_frcnn_cell",
-            "size": [274503056, 8056],
-            "hf_repo_id": "deepdoctection/tp_casc_rcnn_X_32xd4_50_FPN_GN_2FC_pubtabnet_c_inference_only",
-            "hf_model_name": "model-1800000_inf_only",
-            "hf_config_file": ["conf_frcnn_cell.yaml"],
-            "tp_model": True,
-        },
-        "item/model-1620000_inf_only.data-00000-of-00001": {
-            "config": "dd/tp/conf_frcnn_rows",
-            "size": [274515344, 7904],
-            "hf_repo_id": "deepdoctection/tp_casc_rcnn_X_32xd4_50_FPN_GN_2FC_pubtabnet_rc_inference_only",
-            "hf_model_name": "model-1620000_inf_only",
-            "hf_config_file": ["conf_frcnn_rows.yaml"],
-            "tp_model": True,
-        },
-        "item/model-1620000.data-00000-of-00001": {
-            "config": "dd/tp/conf_frcnn_rows",
-            "size": [823546048, 25787],
-            "hf_repo_id": "deepdoctection/tp_casc_rcnn_X_32xd4_50_FPN_GN_2FC_pubtabnet_rc",
-            "hf_model_name": "model-1620000",
-            "hf_config_file": ["conf_frcnn_rows.yaml"],
-            "tp_model": True,
-        },
-        "layout/model-800000.data-00000-of-00001": {
-            "config": "dd/tp/conf_frcnn_layout",
-            "size": [823656748, 25796],
-            "hf_repo_id": "deepdoctection/tp_casc_rcnn_X_32xd4_50_FPN_GN_2FC_publaynet",
-            "hf_model_name": "model-800000",
-            "hf_config_file": ["conf_frcnn_layout.yaml"],
-            "tp_model": True,
-        },
-        "cell/model-1800000.data-00000-of-00001": {
-            "config": "dd/tp/conf_frcnn_cell",
-            "size": [823509160, 25905],
-            "hf_repo_id": "deepdoctection/tp_casc_rcnn_X_32xd4_50_FPN_GN_2FC_pubtabnet_c",
-            "hf_model_name": "model-1800000",
-            "hf_config_file": ["conf_frcnn_cell.yaml"],
-            "tp_model": True,
-        },
-        "layout/d2_model-800000-layout.pkl": {
-            "config": "dd/d2/layout/CASCADE_RCNN_R_50_FPN_GN",
-            "size": [274568239],
-            "hf_repo_id": "deepdoctection/d2_casc_rcnn_X_32xd4_50_FPN_GN_2FC_publaynet_inference_only",
-            "hf_model_name": "d2_model-800000-layout.pkl",
-            "hf_config_file": ["Base-RCNN-FPN.yaml", "CASCADE_RCNN_R_50_FPN_GN.yaml"],
-            "tp_model": False,
-        },
-        "cell/d2_model-1800000-cell.pkl": {
-            "config": "dd/d2/cell/CASCADE_RCNN_R_50_FPN_GN",
-            "size": [274519039],
-            "hf_repo_id": "deepdoctection/d2_casc_rcnn_X_32xd4_50_FPN_GN_2FC_pubtabnet_c_inference_only",
-            "hf_model_name": "d2_model-1800000-cell.pkl",
-            "hf_config_file": ["Base-RCNN-FPN.yaml", "CASCADE_RCNN_R_50_FPN_GN.yaml"],
-            "tp_model": False,
-        },
-        "item/d2_model-1620000-item.pkl": {
-            "config": "dd/d2/item/CASCADE_RCNN_R_50_FPN_GN",
-            "size": [274531339],
-            "hf_repo_id": "deepdoctection/d2_casc_rcnn_X_32xd4_50_FPN_GN_2FC_pubtabnet_rc_inference_only",
-            "hf_model_name": "d2_model-1620000-item.pkl",
-            "hf_config_file": ["Base-RCNN-FPN.yaml", "CASCADE_RCNN_R_50_FPN_GN.yaml"],
-            "tp_model": False,
-        },
-        "fasttext/lid.176.bin": {
-            "config": "",
-            "size": [131266198],
-            "hf_model_name": "lid.176.bin",
-            "urls": ["https://dl.fbaipublicfiles.com/fasttext/supervised-models/lid.176.bin"],
-            "tp_model": False,
-        },
+    CATALOG: Dict[str, ModelProfile] = {
+        "layout/model-800000_inf_only.data-00000-of-00001": ModelProfile(
+            name="layout/model-800000_inf_only.data-00000-of-00001",
+            description="Tensorpack layout model for inference purposes trained on Publaynet",
+            config="dd/tp/conf_frcnn_layout.yaml",
+            size=[274552244, 7907],
+            tp_model=True,
+            hf_repo_id="deepdoctection/tp_casc_rcnn_X_32xd4_50_FPN_GN_2FC_publaynet_inference_only",
+            hf_model_name="model-800000_inf_only",
+            hf_config_file=["conf_frcnn_layout.yaml"],
+            categories={"1": names.C.TEXT, "2": names.C.TITLE, "3": names.C.LIST, "4": names.C.TAB, "5": names.C.FIG},
+        ),
+        "cell/model-1800000_inf_only.data-00000-of-00001": ModelProfile(
+            name="cell/model-1800000_inf_only.data-00000-of-00001",
+            description="Tensorpack cell detection model for inference purposes trained on Pubtabnet",
+            config="dd/tp/conf_frcnn_cell.yaml",
+            size=[274503056, 8056],
+            tp_model=True,
+            hf_repo_id="deepdoctection/tp_casc_rcnn_X_32xd4_50_FPN_GN_2FC_pubtabnet_c_inference_only",
+            hf_model_name="model-1800000_inf_only",
+            hf_config_file=["conf_frcnn_cell.yaml"],
+            categories={"1": names.C.CELL},
+        ),
+        "item/model-1620000_inf_only.data-00000-of-00001": ModelProfile(
+            name="item/model-1620000_inf_only.data-00000-of-00001",
+            description="Tensorpack row/column detection model for inference purposes trained on Pubtabnet",
+            config="dd/tp/conf_frcnn_rows.yaml",
+            size=[274515344, 7904],
+            tp_model=True,
+            hf_repo_id="deepdoctection/tp_casc_rcnn_X_32xd4_50_FPN_GN_2FC_pubtabnet_rc_inference_only",
+            hf_model_name="model-1620000_inf_only",
+            hf_config_file=["conf_frcnn_rows.yaml"],
+            categories={"1": names.C.ROW, "2": names.C.COL},
+        ),
+        "item/model-1620000.data-00000-of-00001": ModelProfile(
+            name="item/model-1620000.data-00000-of-00001",
+            description="Tensorpack row/column detection model trained on Pubtabnet",
+            config="dd/tp/conf_frcnn_rows.yaml",
+            size=[823546048, 25787],
+            tp_model=True,
+            hf_repo_id="deepdoctection/tp_casc_rcnn_X_32xd4_50_FPN_GN_2FC_pubtabnet_rc",
+            hf_model_name="model-1620000",
+            hf_config_file=["conf_frcnn_rows.yaml"],
+            categories={"1": names.C.ROW, "2": names.C.COL},
+        ),
+        "layout/model-800000.data-00000-of-00001": ModelProfile(
+            name="layout/model-800000.data-00000-of-00001",
+            description="Tensorpack layout detection model trained on Publaynet",
+            config="dd/tp/conf_frcnn_layout.yaml",
+            size=[823656748, 25796],
+            tp_model=True,
+            hf_repo_id="deepdoctection/tp_casc_rcnn_X_32xd4_50_FPN_GN_2FC_publaynet",
+            hf_model_name="model-800000",
+            hf_config_file=["conf_frcnn_layout.yaml"],
+            categories={"1": names.C.TEXT, "2": names.C.TITLE, "3": names.C.LIST, "4": names.C.TAB, "5": names.C.FIG},
+        ),
+        "cell/model-1800000.data-00000-of-00001": ModelProfile(
+            name="cell/model-1800000.data-00000-of-00001",
+            description="Tensorpack cell detection model trained on Pubtabnet",
+            config="dd/tp/conf_frcnn_cell.yaml",
+            size=[823509160, 25905],
+            tp_model=True,
+            hf_repo_id="deepdoctection/tp_casc_rcnn_X_32xd4_50_FPN_GN_2FC_pubtabnet_c",
+            hf_model_name="model-1800000",
+            hf_config_file=["conf_frcnn_cell.yaml"],
+            categories={"1": names.C.CELL},
+        ),
+        "layout/d2_model-800000-layout.pkl": ModelProfile(
+            name="layout/d2_model-800000-layout.pkl",
+            description="Detectron2 layout detection model trained on Publaynet",
+            config="dd/d2/layout/CASCADE_RCNN_R_50_FPN_GN.yaml",
+            size=[274568239],
+            tp_model=False,
+            hf_repo_id="deepdoctection/d2_casc_rcnn_X_32xd4_50_FPN_GN_2FC_publaynet_inference_only",
+            hf_model_name="d2_model-800000-layout.pkl",
+            hf_config_file=["Base-RCNN-FPN.yaml", "CASCADE_RCNN_R_50_FPN_GN.yaml"],
+            categories={"1": names.C.TEXT, "2": names.C.TITLE, "3": names.C.LIST, "4": names.C.TAB, "5": names.C.FIG},
+        ),
+        "cell/d2_model-1800000-cell.pkl": ModelProfile(
+            name="cell/d2_model-1800000-cell.pkl",
+            description="Detectron2 cell detection inference only model trained on Pubtabnet",
+            config="dd/d2/cell/CASCADE_RCNN_R_50_FPN_GN.yaml",
+            size=[274519039],
+            tp_model=False,
+            hf_repo_id="deepdoctection/d2_casc_rcnn_X_32xd4_50_FPN_GN_2FC_pubtabnet_c_inference_only",
+            hf_model_name="d2_model-1800000-cell.pkl",
+            hf_config_file=["Base-RCNN-FPN.yaml", "CASCADE_RCNN_R_50_FPN_GN.yaml"],
+            categories={"1": names.C.CELL},
+        ),
+        "item/d2_model-1620000-item.pkl": ModelProfile(
+            name="item/d2_model-1620000-item.pkl",
+            description="Detectron2 item detection inference only model trained on Pubtabnet",
+            config="dd/d2/item/CASCADE_RCNN_R_50_FPN_GN.yaml",
+            size=[274531339],
+            tp_model=False,
+            hf_repo_id="deepdoctection/d2_casc_rcnn_X_32xd4_50_FPN_GN_2FC_pubtabnet_rc_inference_only",
+            hf_model_name="d2_model-1620000-item.pkl",
+            hf_config_file=["Base-RCNN-FPN.yaml", "CASCADE_RCNN_R_50_FPN_GN.yaml"],
+            categories={"1": names.C.ROW, "2": names.C.COL},
+        ),
+        "fasttext/lid.176.bin": ModelProfile(
+            name="fasttext/lid.176.bin",
+            description="Fasttext language detection model",
+            size=[131266198],
+            urls=["https://dl.fbaipublicfiles.com/fasttext/supervised-models/lid.176.bin"],
+            categories={
+                "__label__en": names.NLP.LANG.ENG,
+                "__label__ru": names.NLP.LANG.RUS,
+                "__label__de": names.NLP.LANG.DEU,
+                "__label__fr": names.NLP.LANG.FRE,
+                "__label__it": names.NLP.LANG.ITA,
+                "__label__ja": names.NLP.LANG.JPN,
+                "__label__es": names.NLP.LANG.SPA,
+                "__label__ceb": names.NLP.LANG.CEB,
+                "__label__tr": names.NLP.LANG.TUR,
+                "__label__pt": names.NLP.LANG.POR,
+                "__label__uk": names.NLP.LANG.UKR,
+                "__label__eo": names.NLP.LANG.EPO,
+                "__label__pl": names.NLP.LANG.POL,
+                "__label__sv": names.NLP.LANG.SWE,
+                "__label__nl": names.NLP.LANG.DUT,
+                "__label__he": names.NLP.LANG.HEB,
+                "__label__zh": names.NLP.LANG.CHI,
+                "__label__hu": names.NLP.LANG.HUN,
+                "__label__ar": names.NLP.LANG.ARA,
+                "__label__ca": names.NLP.LANG.CAT,
+                "__label__fi": names.NLP.LANG.FIN,
+                "__label__cs": names.NLP.LANG.CZE,
+                "__label__fa": names.NLP.LANG.PER,
+                "__label__sr": names.NLP.LANG.SRP,
+                "__label__el": names.NLP.LANG.GRE,
+                "__label__vi": names.NLP.LANG.VIE,
+                "__label__bg": names.NLP.LANG.BUL,
+                "__label__ko": names.NLP.LANG.KOR,
+                "__label__no": names.NLP.LANG.NOR,
+                "__label__mk": names.NLP.LANG.MAC,
+                "__label__ro": names.NLP.LANG.RUM,
+                "__label__id": names.NLP.LANG.IND,
+                "__label__th": names.NLP.LANG.THA,
+                "__label__hy": names.NLP.LANG.ARM,
+                "__label__da": names.NLP.LANG.DAN,
+                "__label__ta": names.NLP.LANG.TAM,
+                "__label__hi": names.NLP.LANG.HIN,
+                "__label__hr": names.NLP.LANG.HRV,
+                "__label__sh": "",
+                "__label__be": names.NLP.LANG.BEL,
+                "__label__ka": names.NLP.LANG.GEO,
+                "__label__te": names.NLP.LANG.TEL,
+                "__label__kk": names.NLP.LANG.KAZ,
+                "__label__war": names.NLP.LANG.WAR,
+                "__label__lt": names.NLP.LANG.LIT,
+                "__label__gl": names.NLP.LANG.GLG,
+                "__label__sk": names.NLP.LANG.SLO,
+                "__label__bn": names.NLP.LANG.BEN,
+                "__label__eu": names.NLP.LANG.BAQ,
+                "__label__sl": names.NLP.LANG.SLV,
+                "__label__kn": "",
+                "__label__ml": names.NLP.LANG.MAL,
+                "__label__mr": names.NLP.LANG.MAR,
+                "__label__et": names.NLP.LANG.EST,
+                "__label__az": names.NLP.LANG.AZE,
+                "__label__ms": "",
+                "__label__sq": names.NLP.LANG.ALB,
+                "__label__la": names.NLP.LANG.LAT,
+                "__label__bs": names.NLP.LANG.BOS,
+                "__label__nn": names.NLP.LANG.NNO,
+                "__label__ur": names.NLP.LANG.URD,
+                "__label__lv": "",
+                "__label__my": "",
+                "__label__tt": "",
+                "__label__af": "",
+                "__label__oc": "",
+                "__label__nds": "",
+                "__label__ky": "",
+                "__label__ast": "",
+                "__label__tl": "",
+                "__label__is": "",
+                "__label__ia": "",
+                "__label__si": "",
+                "__label__gu": "",
+                "__label__km": "",
+                "__label__br": "",
+                "__label__ba": "",
+                "__label__uz": "",
+                "__label__bo": "",
+                "__label__pa": "",
+                "__label__vo": "",
+                "__label__als": "",
+                "__label__ne": "",
+                "__label__cy": "",
+                "__label__jbo": "",
+                "__label__fy": "",
+                "__label__mn": "",
+                "__label__lb": "",
+                "__label__ce": "",
+                "__label__ug": "",
+                "__label__tg": "",
+                "__label__sco": "",
+                "__label__sa": "",
+                "__label__cv": "",
+                "__label__jv": "",
+                "__label__min": "",
+                "__label__io": "",
+                "__label__or": "",
+                "__label__as": "",
+                "__label__new": "",
+                "__label__ga": "",
+                "__label__mg": "",
+                "__label__an": "",
+                "__label__ckb": "",
+                "__label__sw": "",
+                "__label__bar": "",
+                "__label__lmo": "",
+                "__label__yi": ":" "",
+                "__label__arz": "",
+                "__label__mhr": "",
+                "__label__azb": "",
+                "__label__sah": "",
+                "__label__pnb": "",
+                "__label__su": "",
+                "__label__bpy": "",
+                "__label__pms": "",
+                "__label__ilo": "",
+                "__label__wuu": "",
+                "__label__ku": "",
+                "__label__ps": "",
+                "__label__ie": "",
+                "__label__xmf": "",
+                "__label__yue": "",
+                "__label__gom": "",
+                "__label__li": "",
+                "__label__mwl": "",
+                "__label__kw": "",
+                "__label__sd": "",
+                "__label__hsb": "",
+                "__label__scn": "",
+                "__label__gd": "",
+                "__label__pam": "",
+                "__label__bh": "",
+                "__label__mai": "",
+                "__label__vec": "",
+                "__label__mt": "",
+                "__label__dv": "",
+                "__label__wa": "",
+                "__label__mzn": "",
+                "__label__am": "",
+                "__label__qu": "",
+                "__label__eml": "",
+                "__label__cbk": "",
+                "__label__tk": "",
+                "__label__rm": "",
+                "__label__os": "",
+                "__label__vls": "",
+                "__label__yo": "",
+                "__label__lo": "",
+                "__label__lez": "",
+                "__label__so": "",
+                "__label__myv": "",
+                "__label__diq": "",
+                "__label__mrj": "",
+                "__label__dsb": "",
+                "__label__frr": "",
+                "__label__ht": "",
+                "__label__gn": "",
+                "__label__bxr": "",
+                "__label__kv": "",
+                "__label__sc": "",
+                "__label__nah": "",
+                "__label__krc": "",
+                "__label__bcl": "",
+                "__label__nap": "",
+                "__label__gv": "",
+                "__label__av": "",
+                "__label__rue": "",
+                "__label__xal": "",
+                "__label__pfl": "",
+                "__label__dty": "",
+                "__label__hif": "",
+                "__label__co": "",
+                "__label__lrc": "",
+                "__label__vep": "",
+                "__label__tyv": "",
+            },
+        ),
     }
 
     @staticmethod
-    def get_full_path_weights(weights: str) -> str:
+    def get_full_path_weights(name: str) -> str:
         """
         Returns the absolute path of weights.
 
-        Note, that weights are sometimes not defined by only one file. The returned string will only represent one
-        file.
+        Note, that weights are sometimes not defined by only one artefact. The returned string will only represent one
+        weights artefact.
 
-        :param weights: weights
+        :param name: model name
         :return: absolute weight path
         """
-        return os.path.join(get_weights_dir_path(), weights)
+        profile = ModelCatalog.get_profile(name)
+        if profile.config is not None:
+            return os.path.join(get_weights_dir_path(), profile.name)
+        logger.info(
+            "Model is not registered. Please make sure the weights are available in the weights cache " "directory"
+        )
+        return os.path.join(get_weights_dir_path(), name)
 
     @staticmethod
-    def get_full_path_configs(weights: str) -> str:
+    def get_full_path_configs(name: str) -> str:
         """
-        Return the absolute path of configs for some given weights.
+        Return the absolute path of configs for some given weights. Alternatively, pass last a path to a config file
+        (without the base path to the cache config directory).
 
         Note, that configs are sometimes not defined by only one file. The returned string will only represent one
         file.
 
-        :param weights: weights
+        :param name: model name
         :return: absolute path to the config
         """
-        profile = ModelCatalog.get_profile(weights)
-
-        return os.path.join(get_configs_dir_path(), profile["config"]) + ".yaml"
-
-    @staticmethod
-    def get_weights_names() -> List[str]:
-        """
-        Get a list of available weights
-
-        :return: A list of names
-        """
-        return list(ModelCatalog.MODELS.keys())
+        profile = ModelCatalog.get_profile(name)
+        if profile.config is not None:
+            return os.path.join(get_configs_dir_path(), profile.config)
+        return os.path.join(get_configs_dir_path(), name)
 
     @staticmethod
-    def print_weights_names() -> None:
+    def get_model_list() -> List[str]:
         """
-        Print a list of registered weights names
+        Returns a list of absolute paths of registered models.
         """
-        print(list(ModelCatalog.MODELS.keys()))
+        return [os.path.join(get_weights_dir_path(), profile.name) for profile in ModelCatalog.CATALOG.values()]
 
     @staticmethod
-    def get_weights_list() -> List[str]:
-        """
-        Returns a list of absolute paths of registered weights.
-        """
-        return [os.path.join(get_weights_dir_path(), key) for key in ModelCatalog.MODELS]
-
-    @staticmethod
-    def is_registered(weights: str) -> bool:
+    def is_registered(path_weights: str) -> bool:
         """
         Checks if some weights belong to a registered model
 
-        :param weights: relative path
+        :param path_weights: relative or absolute path
         :return: True if the weights are registered in :class:`ModelCatalog`
         """
-        if ModelCatalog.get_full_path_weights(weights) in ModelCatalog.get_weights_list():
+        if (ModelCatalog.get_full_path_weights(path_weights) in ModelCatalog.get_model_list()) or (
+            path_weights in ModelCatalog.get_model_list()
+        ):
             return True
         return False
 
     @staticmethod
-    def get_profile(weights: str) -> Dict[str, Any]:
+    def get_profile(name: str) -> ModelProfile:
         """
-        Returns the profile of given weights, i.e. the config file, size and urls.
+        Returns the profile of given model name, i.e. the config file, size and urls.
 
-        :param weights: local weights
+        :param name: model name
         :return: A dict of model/weights profiles
         """
-        profile = copy(ModelCatalog.MODELS[weights])
-        profile["urls"] = [str(url) for url in profile.get("urls", "")]
-        return profile
+        profile = ModelCatalog.CATALOG.get(name)
+        if profile is not None:
+            return copy(profile)
+        return ModelProfile(name="", description="", size=[0], tp_model=False)
+
+    @staticmethod
+    def register(name: str, profile: ModelProfile) -> None:
+        """
+        Register a model with its profile
+
+        :param name: Name of the model. We use the file name of the model along with its path (starting from the
+                     weights .cache dir. e.g. 'my_model/model_123.pkl'.
+        :param profile: profile of the model
+        """
+        if name in ModelCatalog.CATALOG:
+            raise KeyError("Model already registered")
+        ModelCatalog.CATALOG[name] = profile
 
 
-def get_tp_weight_names(weights: str) -> List[str]:
+def get_tp_weight_names(name: str) -> List[str]:
     """
     Given a path to some model weights it will return all file names according to TP naming convention
 
-    :param weights: weights
+    :param name: TP model name
     :return: A list of TP file names
     """
-    _, file_name = os.path.split(weights)
+    _, file_name = os.path.split(name)
     prefix, _ = file_name.split(".")
     weight_names = []
     for suffix in ["data-00000-of-00001", "index"]:
@@ -211,6 +452,27 @@ def get_tp_weight_names(weights: str) -> List[str]:
     return weight_names
 
 
+def print_model_infos() -> None:
+    """
+    Prints a table with all registered model profiles and some of their attributes (name, description, config and
+    categories)
+    """
+
+    profiles = ModelCatalog.CATALOG.values()
+    num_columns = min(6, len(profiles))
+    infos = []
+    for profile in profiles:
+        infos.append((profile.name, profile.description, profile.config, profile.categories))
+    table = tabulate(
+        infos,
+        headers=["name", "description", "config", "categories"] * (num_columns // 2),
+        tablefmt="fancy_grid",
+        stralign="left",
+        numalign="left",
+    )
+    print(colored(table, "cyan"))
+
+
 class ModelDownloadManager:  # pylint: disable=R0903
     """
     A registry for built-in models. Registered models have weights that can be downloaded and cached. Do not use
@@ -219,29 +481,28 @@ class ModelDownloadManager:  # pylint: disable=R0903
     """
 
     @staticmethod
-    def maybe_download_weights_and_configs(weights: str, from_hf_hub: bool = True) -> str:
+    def maybe_download_weights_and_configs(name: str) -> str:
         """
-        Check if some weights belong to some registered weights. If yes, it will check if their weights
+        Check if some model is registered. If yes, it will check if their weights
         must be downloaded. Only weights that have not the same expected size will be downloaded again.
 
-        :param weights: A path to some model weights
-        :param from_hf_hub: If True, will use model download from the Huggingface hub
+        :param name: A path to some model weights
         :return: Absolute path to model weights if model is registered
         """
 
-        absolute_path_weights = ModelCatalog.get_full_path_weights(weights)
+        absolute_path_weights = ModelCatalog.get_full_path_weights(name)
         file_names: List[str] = []
-        if ModelCatalog.is_registered(weights):
-            profile = ModelCatalog.get_profile(weights)
-            if profile["tp_model"]:
-                file_names = get_tp_weight_names(weights)
+        if ModelCatalog.is_registered(name):
+            profile = ModelCatalog.get_profile(name)
+            if profile.tp_model:
+                file_names = get_tp_weight_names(name)
             else:
-                hf_model_name = profile.get("hf_model_name", "")
+                hf_model_name = profile.hf_model_name
                 assert isinstance(hf_model_name, str)
                 file_names.append(hf_model_name)
-            if from_hf_hub:
+            if profile.hf_repo_id:
                 ModelDownloadManager.load_model_from_hf_hub(profile, absolute_path_weights, file_names)
-                absolute_path_configs = ModelCatalog.get_full_path_configs(weights)
+                absolute_path_configs = ModelCatalog.get_full_path_configs(name)
                 ModelDownloadManager.load_configs_from_hf_hub(profile, absolute_path_configs)
             else:
                 ModelDownloadManager._load_from_gd(profile, absolute_path_weights, file_names)
@@ -252,7 +513,7 @@ def maybe_download_weights_and_configs(weights: str, from_hf_hub: bool = True) -
         return absolute_path_weights
 
     @staticmethod
-    def load_model_from_hf_hub(profile: Dict[str, Any], absolute_path: str, file_names: List[str]) -> None:
+    def load_model_from_hf_hub(profile: ModelProfile, absolute_path: str, file_names: List[str]) -> None:
         """
         Load a model from the Huggingface hub for a given profile and saves the model at the directory of the given
         path.
@@ -262,24 +523,25 @@ def load_model_from_hf_hub(profile: Dict[str, Any], absolute_path: str, file_nam
         :param file_names: Optionally, replace the file name of the ModelCatalog. This is necessary e.g. for Tensorpack
                            models
         """
-        repo_id = profile["hf_repo_id"]
+        repo_id = profile.hf_repo_id
+        assert repo_id
         directory, _ = os.path.split(absolute_path)
-        if not file_names:
-            file_names = profile["hf_model_name"]
-        for expect_size, file_name in zip(profile["size"], file_names):
+
+        for expect_size, file_name in zip(profile.size, file_names):
             size = ModelDownloadManager._load_from_hf_hub(repo_id, file_name, directory)
             if expect_size is not None and size != expect_size:
                 logger.error("File downloaded from %s does not match the expected size!", repo_id)
                 logger.error("You may have downloaded a broken file, or the upstream may have modified the file.")
 
     @staticmethod
-    def _load_from_gd(profile: Dict[str, List[Union[int, str]]], absolute_path: str, file_names: List[str]) -> None:
-        for size, url, file_name in zip(profile["size"], profile["urls"], file_names):
+    def _load_from_gd(profile: ModelProfile, absolute_path: str, file_names: List[str]) -> None:
+        assert profile.urls is not None
+        for size, url, file_name in zip(profile.size, profile.urls, file_names):
             directory, _ = os.path.split(absolute_path)
             download(str(url), directory, file_name, int(size))
 
     @staticmethod
-    def load_configs_from_hf_hub(profile: Dict[str, Any], absolute_path: str) -> None:
+    def load_configs_from_hf_hub(profile: ModelProfile, absolute_path: str) -> None:
         """
         Load config file(s) from the Huggingface hub for a given profile and saves the model at the directory of the
         given path.
@@ -288,9 +550,12 @@ def load_configs_from_hf_hub(profile: Dict[str, Any], absolute_path: str) -> Non
         :param absolute_path:  Absolute path (incl. file name) of target file
         """
 
-        repo_id = profile["hf_repo_id"]
+        repo_id = profile.hf_repo_id
+        assert repo_id
         directory, _ = os.path.split(absolute_path)
-        for file_name in profile["hf_config_file"]:
+        assert isinstance(profile.hf_config_file, list)
+
+        for file_name in profile.hf_config_file:
             ModelDownloadManager._load_from_hf_hub(repo_id, file_name, directory)
 
     @staticmethod
diff --git a/deepdoctection/extern/tessocr.py b/deepdoctection/extern/tessocr.py
index 201fee88..323b211e 100644
--- a/deepdoctection/extern/tessocr.py
+++ b/deepdoctection/extern/tessocr.py
@@ -111,6 +111,7 @@ def image_to_dict(image: ImageType, lang: str, config: str) -> Dict[str, List[Un
     - reading the .tsv file and returning the results as dict.
 
     Requires Tesseract 3.05+
+
     :param image: Image in np.array.
     :param lang: String of language
     :param config: string of configs
diff --git a/deepdoctection/pipe/cell.py b/deepdoctection/pipe/cell.py
index d6d157f7..b2490491 100644
--- a/deepdoctection/pipe/cell.py
+++ b/deepdoctection/pipe/cell.py
@@ -25,6 +25,7 @@
 from ..datapoint.image import Image
 from ..extern.base import DetectionResult, ObjectDetector
 from .base import PredictorPipelineComponent
+from .registry import pipeline_component_registry
 
 
 class DetectResultGenerator:  # pylint: disable=R0903
@@ -95,6 +96,7 @@ def _dummy_for_group_generated(self, category_id: str) -> bool:
         return False
 
 
+@pipeline_component_registry.register("SubImageLayoutService")
 class SubImageLayoutService(PredictorPipelineComponent):
     """
     Component in which the selected ImageAnnotation can be selected with cropped images and presented to a detector.
diff --git a/deepdoctection/pipe/common.py b/deepdoctection/pipe/common.py
index db9e2c4b..f76c8f48 100644
--- a/deepdoctection/pipe/common.py
+++ b/deepdoctection/pipe/common.py
@@ -31,8 +31,10 @@
 from ..mapper.pagestruct import to_page
 from ..utils.settings import names
 from .base import PipelineComponent
+from .registry import pipeline_component_registry
 
 
+@pipeline_component_registry.register("ImageCroppingService")
 class ImageCroppingService(PipelineComponent):
     """
     Crop sub images given by bounding boxes of some annotations. This service is not necessary for
@@ -57,6 +59,7 @@ def clone(self) -> "PipelineComponent":
         return self.__class__(self.category_names)
 
 
+@pipeline_component_registry.register("MatchingService")
 class MatchingService(PipelineComponent):
     """
     Objects of two object classes can be assigned to one another by determining their pairwise average. If this is above
@@ -113,6 +116,7 @@ def clone(self) -> PipelineComponent:
         return self.__class__(self.parent_categories, self.child_categories, self.matching_rule, self.threshold)
 
 
+@pipeline_component_registry.register("PageParsingService")
 class PageParsingService:
     """
     A "pseudo" pipeline component that can be added to a pipeline to convert Images into Page formats. It allows a
diff --git a/deepdoctection/pipe/doctectionpipe.py b/deepdoctection/pipe/doctectionpipe.py
index 6e213bc0..4230a456 100644
--- a/deepdoctection/pipe/doctectionpipe.py
+++ b/deepdoctection/pipe/doctectionpipe.py
@@ -91,7 +91,8 @@ def _entry(self, **kwargs: str) -> DataFlow:
         def _proto_process(dp: Image) -> Image:
             logger.info("processing %s", dp.file_name)
             return dp
-        df = MapData(df,_proto_process)
+
+        df = MapData(df, _proto_process)
 
         return df
 
diff --git a/deepdoctection/pipe/language.py b/deepdoctection/pipe/language.py
index 8bba3b1b..5b735c04 100644
--- a/deepdoctection/pipe/language.py
+++ b/deepdoctection/pipe/language.py
@@ -26,8 +26,10 @@
 from ..utils.logger import logger
 from ..utils.settings import names
 from .base import PipelineComponent
+from .registry import pipeline_component_registry
 
 
+@pipeline_component_registry.register("LanguageDetectionService")
 class LanguageDetectionService(PipelineComponent):
     """
     Pipeline Component for identifying the language in an image.
@@ -84,7 +86,7 @@ def serve(self, dp: Image) -> None:
             # this is a concatenation of all detection result. No reading order
             text = " ".join([result.text for result in detect_result_list if result.text is not None])
         predict_result = self.predictor.predict(text)
-        self.dp_manager.set_summary_annotation(names.NLP.LANG, 1, predict_result.text, predict_result.score)
+        self.dp_manager.set_summary_annotation(names.NLP.LANG.LANG, 1, predict_result.text, predict_result.score)
 
     def _init_sanity_checks(self) -> None:
         assert self.text_detector or self._text_container, (
diff --git a/deepdoctection/pipe/layout.py b/deepdoctection/pipe/layout.py
index ea976171..2c06861f 100644
--- a/deepdoctection/pipe/layout.py
+++ b/deepdoctection/pipe/layout.py
@@ -23,8 +23,10 @@
 from ..datapoint.image import Image
 from ..extern.base import ObjectDetector
 from .base import PredictorPipelineComponent
+from .registry import pipeline_component_registry
 
 
+@pipeline_component_registry.register("ImageLayoutService")
 class ImageLayoutService(PredictorPipelineComponent):
     """
     Pipeline component for determining the layout. Which layout blocks are determined depends on the Detector and thus
diff --git a/deepdoctection/pipe/refine.py b/deepdoctection/pipe/refine.py
index 8a8ee083..47ac5d8d 100644
--- a/deepdoctection/pipe/refine.py
+++ b/deepdoctection/pipe/refine.py
@@ -33,6 +33,7 @@
 from ..extern.base import DetectionResult
 from ..utils.settings import names
 from .base import PipelineComponent
+from .registry import pipeline_component_registry
 
 __all__ = ["TableSegmentationRefinementService"]
 
@@ -329,6 +330,7 @@ def generate_html_string(table: ImageAnnotation) -> List[str]:
     return _html_table(table_list, cells_ann_list, number_of_rows, number_of_cols)
 
 
+@pipeline_component_registry.register("TableSegmentationRefinementService")
 class TableSegmentationRefinementService(PipelineComponent):
     """
     Refinement of the cell segmentation. The aim of this component is to create a table structure so that an HTML
@@ -409,3 +411,6 @@ def serve(self, dp: Image) -> None:
             self.dp_manager.set_container_annotation(
                 names.C.HTAB, -1, names.C.HTAB, table.annotation_id, html  # type: ignore
             )
+
+    def clone(self) -> PipelineComponent:
+        return self.__class__()
diff --git a/deepdoctection/pipe/registry.py b/deepdoctection/pipe/registry.py
index b02f7296..6b350c97 100644
--- a/deepdoctection/pipe/registry.py
+++ b/deepdoctection/pipe/registry.py
@@ -19,65 +19,9 @@
 Module for PipeRegistry
 """
 
-import inspect
-import sys
-from typing import Dict, List, Type
+import catalogue  # type: ignore
 
-from .base import PipelineComponent
-from .cell import *
-from .common import *
-from .layout import *
-from .refine import *
-from .segment import *
-from .text import *
+__all__ = ["pipeline_component_registry"]
 
-__all__ = ["PipelineComponentRegistry"]
 
-
-_PIPELINE_COMPONENT: Dict[str, Type[PipelineComponent]] = dict(
-    m
-    for m in [m for m in inspect.getmembers(sys.modules[__name__], inspect.isclass) if m[0] not in ["ImageType"]]
-    if issubclass(m[1], PipelineComponent) and m[0] != "PipelineComponent"
-)
-
-
-class PipelineComponentRegistry:
-    """
-    The PipelineComponentRegistry is the object for receiving pipeline component and registering new ones.
-    """
-
-    @staticmethod
-    def print_pipeline_component_names() -> None:
-        """
-        Print a list of registered pipeline component names
-        """
-        print(list(_PIPELINE_COMPONENT.keys()))
-
-    @staticmethod
-    def get_pipeline_component(name: str) -> Type[PipelineComponent]:
-        """
-        Returns an instance of a pipeline component with a given name
-
-        :param name: A pipeline component name
-        :return: An instance of a pipeline component
-        """
-        return _PIPELINE_COMPONENT[name]
-
-    @staticmethod
-    def register_pipeline_component(name: str, pipeline_component: Type[PipelineComponent]) -> None:
-        """
-        Register a new pipeline component.
-
-        :param name: A pipeline component name
-        :param pipeline_component: A new pipeline component to add to the registry.
-        """
-        _PIPELINE_COMPONENT[name] = pipeline_component
-
-    @staticmethod
-    def get_pipeline_component_names() -> List[str]:
-        """
-        Get a list of available pipeline component names
-
-        :return: A list of names
-        """
-        return list(_PIPELINE_COMPONENT.keys())
+pipeline_component_registry = catalogue.create("deepdoctection", "pipeline_components", entry_points=True)
diff --git a/deepdoctection/pipe/segment.py b/deepdoctection/pipe/segment.py
index 7e4c16cb..f7b5e240 100644
--- a/deepdoctection/pipe/segment.py
+++ b/deepdoctection/pipe/segment.py
@@ -34,6 +34,7 @@
 from ..mapper.match import match_anns_by_intersection
 from ..utils.settings import names
 from .base import PipelineComponent
+from .registry import pipeline_component_registry
 
 __all__ = ["TableSegmentationService", "SegmentationResult"]
 
@@ -335,6 +336,7 @@ def segment_table(  # pylint: disable=R0913, R0914
     return raw_table_segments
 
 
+@pipeline_component_registry.register("TableSegmentationService")
 class TableSegmentationService(PipelineComponent):
     """
     Table segmentation after successful cell detection. In addition, row and column detection must have been carried
@@ -448,3 +450,13 @@ def serve(self, dp: Image) -> None:
                 self.dp_manager.set_category_annotation(
                     names.C.CS, segment_result.cs, names.C.CS, segment_result.annotation_id
                 )
+
+    def clone(self) -> PipelineComponent:
+        return self.__class__(
+            self.segment_rule,
+            self.threshold_rows,
+            self.threshold_cols,
+            self.tile_table,
+            self.remove_iou_threshold_rows,
+            self.remove_iou_threshold_cols,
+        )
diff --git a/deepdoctection/pipe/text.py b/deepdoctection/pipe/text.py
index de68de07..d8ad4cad 100644
--- a/deepdoctection/pipe/text.py
+++ b/deepdoctection/pipe/text.py
@@ -28,10 +28,12 @@
 from ..utils.logger import logger
 from ..utils.settings import names
 from .base import PipelineComponent, PredictorPipelineComponent
+from .registry import pipeline_component_registry
 
 __all__ = ["TextExtractionService", "TextOrderService"]
 
 
+@pipeline_component_registry.register("TextExtractionService")
 class TextExtractionService(PredictorPipelineComponent):
     """
     Pipeline component for extracting text. Any detector can be selected, provided that it can evaluate a
@@ -238,6 +240,7 @@ def _reading_columns(
     return reading_blocks
 
 
+@pipeline_component_registry.register("TextOrderService")
 class TextOrderService(PipelineComponent):
     """
     Reading order of words within floating text blocks as well as reading order of blocks within simple text blocks.
diff --git a/deepdoctection/pipe/tokenclass.py b/deepdoctection/pipe/tokenclass.py
index d7d4d54b..4e5e18cf 100644
--- a/deepdoctection/pipe/tokenclass.py
+++ b/deepdoctection/pipe/tokenclass.py
@@ -23,8 +23,10 @@
 from ..datapoint.image import Image
 from ..utils.settings import names
 from .base import LanguageModelPipelineComponent
+from .registry import pipeline_component_registry
 
 
+@pipeline_component_registry.register("LMTokenClassifierService")
 class LMTokenClassifierService(LanguageModelPipelineComponent):
     """
     Pipeline component for token classification
diff --git a/deepdoctection/train/tp_frcnn_train.py b/deepdoctection/train/tp_frcnn_train.py
index abc0ae26..998da418 100644
--- a/deepdoctection/train/tp_frcnn_train.py
+++ b/deepdoctection/train/tp_frcnn_train.py
@@ -44,7 +44,7 @@
 
 from ..datasets.base import DatasetBase
 from ..eval.base import MetricBase
-from ..eval.registry import MetricRegistry
+from ..eval.registry import metric_registry
 from ..eval.tp_eval_callback import EvalCallback
 from ..extern.tp.tfutils import disable_tfv2
 from ..extern.tp.tpfrcnn.common import CustomResize
@@ -55,7 +55,7 @@
 from ..mapper.maputils import LabelSummarizer
 from ..mapper.tpstruct import image_to_tp_frcnn_training
 from ..pipe.base import PredictorPipelineComponent
-from ..pipe.registry import PipelineComponentRegistry
+from ..pipe.registry import pipeline_component_registry
 from ..utils.detection_types import JsonDict
 from ..utils.file_utils import set_mp_spawn
 from ..utils.fs import get_load_image_func
@@ -278,7 +278,7 @@ def train_faster_rcnn(  # pylint: disable=R0913, R0915
         and pipeline_component_name is not None
     ):
         if metric_name is not None:
-            metric = MetricRegistry.get_metric(metric_name)
+            metric = metric_registry.get(metric_name)
         detector = TPFrcnnDetector(
             path_config_yaml,
             path_weights,
@@ -286,8 +286,8 @@ def train_faster_rcnn(  # pylint: disable=R0913, R0915
             config_overwrite,
             True,
         )  # only a wrapper for the predictor itself. Will be replaced in Callback
-        pipeline_component_cls = PipelineComponentRegistry.get_pipeline_component(pipeline_component_name)
-        pipeline_component = pipeline_component_cls(detector)  # type: ignore
+        pipeline_component_cls = pipeline_component_registry.get(pipeline_component_name)
+        pipeline_component = pipeline_component_cls(detector)
         assert isinstance(pipeline_component, PredictorPipelineComponent)
         category_names = list(categories.values())  # type: ignore
         callbacks.extend(
diff --git a/deepdoctection/utils/file_utils.py b/deepdoctection/utils/file_utils.py
index 8cd70150..619e1db9 100644
--- a/deepdoctection/utils/file_utils.py
+++ b/deepdoctection/utils/file_utils.py
@@ -41,12 +41,11 @@ def tf_available() -> bool:
     return bool(_TF_AVAILABLE)
 
 
-def get_tensorflow_requirement() -> Requirement:
+def get_tf_version() -> str:
     """
-    Returns Tensorflow requirement
+    Determine the TF version which is installed
     """
-
-    tf_requirement_satisfied = False
+    tf_version = "0.0"
     if tf_available():
         candidates: Tuple[str, ...] = (
             "tensorflow",
@@ -60,19 +59,29 @@ def get_tensorflow_requirement() -> Requirement:
             "tensorflow-rocm",
             "tensorflow-macos",
         )
-        tf_version = "0.0"
+
         for pkg in candidates:
             try:
                 tf_version = importlib_metadata.version(pkg)  # type: ignore
                 break
             except importlib_metadata.PackageNotFoundError:
                 pass
-        _tf_version_available = tf_version != "0.0"
-        if _tf_version_available:
-            if version.parse(tf_version) < version.parse("2.4.1"):
-                pass
-            else:
-                tf_requirement_satisfied = True
+    return tf_version
+
+
+def get_tensorflow_requirement() -> Requirement:
+    """
+    Returns Tensorflow requirement
+    """
+
+    tf_requirement_satisfied = False
+    tf_version = get_tf_version()
+    _tf_version_available = tf_version != "0.0"
+    if _tf_version_available:
+        if version.parse(tf_version) < version.parse("2.4.1"):
+            pass
+        else:
+            tf_requirement_satisfied = True
 
     return "tensorflow", tf_requirement_satisfied, _TF_ERR_MSG
 
diff --git a/deepdoctection/utils/settings.py b/deepdoctection/utils/settings.py
index 44a7d9bc..0e3e92c7 100644
--- a/deepdoctection/utils/settings.py
+++ b/deepdoctection/utils/settings.py
@@ -69,7 +69,66 @@
 _N.NER.B = "B"
 _N.NER.I = "I"
 
-_N.NLP.LANG = "LANGUAGE"
+_N.NLP.LANG.LANG = "LANGUAGE"
+_N.NLP.LANG.ENG = "eng"
+_N.NLP.LANG.RUS = "rus"
+_N.NLP.LANG.DEU = "deu"
+_N.NLP.LANG.FRE = "fre"
+_N.NLP.LANG.ITA = "ita"
+_N.NLP.LANG.JPN = "jpn"
+_N.NLP.LANG.SPA = "spa"
+_N.NLP.LANG.CEB = "ceb"
+_N.NLP.LANG.TUR = "tur"
+_N.NLP.LANG.POR = "por"
+_N.NLP.LANG.UKR = "ukr"
+_N.NLP.LANG.EPO = "epo"
+_N.NLP.LANG.POL = "pol"
+_N.NLP.LANG.SWE = "swe"
+_N.NLP.LANG.DUT = "dut"
+_N.NLP.LANG.HEB = "heb"
+_N.NLP.LANG.CHI = "chi"
+_N.NLP.LANG.HUN = "hun"
+_N.NLP.LANG.ARA = "ara"
+_N.NLP.LANG.CAT = "cat"
+_N.NLP.LANG.FIN = "fin"
+_N.NLP.LANG.CZE = "cze"
+_N.NLP.LANG.PER = "per"
+_N.NLP.LANG.SRP = "srp"
+_N.NLP.LANG.GRE = "gre"
+_N.NLP.LANG.VIE = "vie"
+_N.NLP.LANG.BUL = "bul"
+_N.NLP.LANG.KOR = "kor"
+_N.NLP.LANG.NOR = "nor"
+_N.NLP.LANG.MAC = "mac"
+_N.NLP.LANG.RUM = "rum"
+_N.NLP.LANG.IND = "ind"
+_N.NLP.LANG.THA = "tha"
+_N.NLP.LANG.ARM = "arm"
+_N.NLP.LANG.DAN = "dan"
+_N.NLP.LANG.TAM = "tam"
+_N.NLP.LANG.HIN = "hin"
+_N.NLP.LANG.HRV = "hrv"
+_N.NLP.LANG.BEL = "bel"
+_N.NLP.LANG.GEO = "geo"
+_N.NLP.LANG.TEL = "tel"
+_N.NLP.LANG.KAZ = "kaz"
+_N.NLP.LANG.WAR = "war"
+_N.NLP.LANG.LIT = "lit"
+_N.NLP.LANG.GLG = "glg"
+_N.NLP.LANG.SLO = "slo"
+_N.NLP.LANG.BEN = "ben"
+_N.NLP.LANG.BAQ = "baq"
+_N.NLP.LANG.SLV = "slv"
+_N.NLP.LANG.MAL = "mal"
+_N.NLP.LANG.MAR = "mar"
+_N.NLP.LANG.EST = "est"
+_N.NLP.LANG.AZE = "aze"
+_N.NLP.LANG.ALB = "alb"
+_N.NLP.LANG.LAT = "lat"
+_N.NLP.LANG.BOS = "bos"
+_N.NLP.LANG.NNO = "nno"
+_N.NLP.LANG.URD = "urd"
+
 
 _N.freeze()
 
diff --git a/docs/tutorials/custom_pipeline_notebook.rst b/docs/tutorials/custom_pipeline_notebook.rst
index af674a84..c5de9eb4 100644
--- a/docs/tutorials/custom_pipeline_notebook.rst
+++ b/docs/tutorials/custom_pipeline_notebook.rst
@@ -42,19 +42,23 @@ allows a certain flexibility with the composition of pipelines.
 
 Important! Textract is an AWS paid service and you will need an AWS
 account to call the client. Alternatively, you can also instantiate a
-open sourced OCR service like Tesseract.
+open sourced OCR service like Tesseract. Just disable
+``TextractOcrDetector()`` and uncomment the following two lines!
 
 .. code:: ipython3
 
     import os
-    from deepdoctection.extern import TextractOcrDetector
+    from deepdoctection.extern import TextractOcrDetector, TesseractOcrDetector
     from deepdoctection.pipe import TextExtractionService, DoctectionPipe
-    from deepdoctection.utils.systools import get_package_path
+    from deepdoctection.utils.systools import get_package_path, get_configs_dir_path
 
 .. code:: ipython3
 
     ocr_detector = TextractOcrDetector()
     
+    #tess_ocr_config_path = os.path.join(get_configs_dir_path(),"dd/conf_tesseract.yaml")
+    #ocr_detector = TesseractOcrDetector(tess_ocr_config_path, config_overwrite=["LANGUAGES=deu"])
+    
     textract_service = TextExtractionService(ocr_detector,None)
     pipeline_component_list = [textract_service]
 
@@ -75,8 +79,6 @@ and outputting the extracts.
 .. figure:: ./pics/sample_3.png
    :alt: title
 
-   title
-
 We build the pipeline by calling the analyze method and want the results
 returned as an image. An image is the core object where everything
 grapped from detectors and pipeline components is stored.
@@ -89,13 +91,6 @@ type requires additional layout detections which we will adress later.
     df = pipeline.analyze(path=path, output="image")
     doc = next(iter(df))
 
-
-.. parsed-literal::
-
-    [32m[0310 11:46:45 @common.py:558][0m [JoinData] Size check failed for the list of dataflow to be joined!
-    processing sample_3.png
-
-
 It does not make much sense to dig deeper into the image structure. It
 is important to know, that it captures all fine graded information from
 the OCR result in an ImageAnnotation object. E.g. each single word is
@@ -111,7 +106,7 @@ stored with some uuid, bounding box and value (the recorded text).
 .. parsed-literal::
 
     (551,
-     ImageAnnotation(active=True, annotation_id='172d1585-9e41-3e79-b7ac-65c81e55340f', category_name='WORD', category_id='1', score=0.9716712951660156, sub_categories={'CHARS': ContainerAnnotation(active=True, annotation_id='3bb03560-00ea-3a21-bab9-c3aa0ec938d3', category_name='CHARS', category_id='None', score=None, sub_categories={}, relationships={}, value='Anleihemärkte'), 'BLOCK': CategoryAnnotation(active=True, annotation_id='b7f36a28-09b4-3954-a002-9064471c365e', category_name='BLOCK', category_id='None', score=None, sub_categories={}, relationships={}), 'LINE': CategoryAnnotation(active=True, annotation_id='f152b47f-61f9-31b3-9904-bfc52a47c003', category_name='LINE', category_id='None', score=None, sub_categories={}, relationships={})}, relationships={}, bounding_box=BoundingBox(absolute_coords=True, ulx=137.22318817675114, uly=155.71465119719505, lrx=474.8347396850586, lry=196.48566928505898, height=40.77101808786392, width=337.61155150830746)))
+     ImageAnnotation(active=True, annotation_id='a913d880-af59-302c-a09c-d6cbba4a4ce6', category_name='WORD', category_id='1', score=0.9716712951660156, sub_categories={'CHARS': ContainerAnnotation(active=True, annotation_id='767ad536-9d33-35c5-b9de-b4a7169beebd', category_name='CHARS', category_id='None', score=0.9716712951660156, sub_categories={}, relationships={}, value='Anleihemärkte')}, relationships={}, bounding_box=BoundingBox(absolute_coords=True, ulx=137.22318817675114, uly=155.71465119719505, lrx=474.8347396850586, lry=196.48566928505898, height=40.77101808786392, width=337.61155150830746)))
 
 
 
@@ -126,7 +121,7 @@ built-in layout detector and the associated ImageLayoutService as a
 pipeline component are suitable for this.
 
 At this point it starts to depend on whether the DL framework Tensorflow
-or PyTorch is to be used. We assume that Tensorflow is installed, hence
+or PyTorch will be used. We assume that Tensorflow is installed, hence
 we need to import the Tensorflow related Detector TPFrcnnDetector. Use
 D2FrcnnDetector for PyTorch.
 
@@ -139,8 +134,8 @@ the ModelDownloadManager.
    from deepdoctection.extern.model import ModelDownloadManager
    ModelDownloadManager.maybe_download_weights_and_configs("layout/model-800000_inf_only.data-00000-of-00001")
 
-Download ``layout/d2_model-800000-layout.pkl`` instead, in case you use
-PyTorch.
+Download ``"layout/d2_model-800000-layout.pkl"`` instead, in case you
+use PyTorch.
 
 .. code:: ipython3
 
@@ -151,7 +146,8 @@ PyTorch.
 When the model is downloaded from the hub, both the weights and the
 config file are loaded into the cache. The paths to both files are
 required in order to instantiate the detector. You can use the
-ModelCatalog to build the path.
+ModelCatalog to build the path. Moreover, the ModelCatalog provides a
+brief model card of all registered models.
 
 It is also necessary to pass a dict with the category-id/category names
 pairs. This mapping is standard and results from the dataset Publaynet
@@ -160,10 +156,35 @@ on which this model was trained.
 .. code:: ipython3
 
     profile = ModelCatalog.get_profile("layout/model-800000_inf_only.data-00000-of-00001")
-    
+    profile.as_dict()
+
+
+
+
+.. parsed-literal::
+
+    {'name': 'layout/model-800000_inf_only.data-00000-of-00001',
+     'description': 'Tensorpack layout model for inference purposes trained on Publaynet',
+     'size': [274552244, 7907],
+     'tp_model': True,
+     'config': 'dd/tp/conf_frcnn_layout.yaml',
+     'hf_repo_id': 'deepdoctection/tp_casc_rcnn_X_32xd4_50_FPN_GN_2FC_publaynet_inference_only',
+     'hf_model_name': 'model-800000_inf_only',
+     'hf_config_file': ['conf_frcnn_layout.yaml'],
+     'urls': None,
+     'categories': {'1': 'TEXT',
+      '2': 'TITLE',
+      '3': 'LIST',
+      '4': 'TABLE',
+      '5': 'FIGURE'}}
+
+
+
+.. code:: ipython3
+
     config_yaml_path = ModelCatalog.get_full_path_configs("layout/model-800000_inf_only.data-00000-of-00001")
     weights_path = ModelCatalog.get_full_path_weights("layout/model-800000_inf_only.data-00000-of-00001") 
-    categories_layout = {"1": "TEXT", "2": "TITLE", "3": "LIST", "4": "TABLE", "5": "FIGURE"}
+    categories_layout = profile.categories
     layout_detector = TPFrcnnDetector(config_yaml_path,weights_path,categories_layout)
 
 The ImageLayoutService does need a detector and an additional attribute
@@ -195,16 +216,16 @@ Let’s rebuild a new pipeline and start the process again.
 
 .. parsed-literal::
 
-    [32m[0310 11:47:09 @common.py:558][0m [JoinData] Size check failed for the list of dataflow to be joined!
-    processing sample_3.png
-
-
+    [32m[0516 15:42:42 @common.py:558][0m [JoinData] Size check failed for the list of dataflow to be joined!
 
+    [32m[0516 15:42.42 @doctectionpipe.py:92][0m [32mINF[0m processing sample_3.png
+    [32m[0516 15:42.46 @timer.py:48][0m [32mINF[0m TextExtractionService finished, 3.548 sec.
+    [32m[0516 15:42.48 @timer.py:48][0m [32mINF[0m ImageLayoutService finished, 2.4879 sec.
 
 .. parsed-literal::
 
     (558,
-     ImageAnnotation(active=True, annotation_id='172d1585-9e41-3e79-b7ac-65c81e55340f', category_name='WORD', category_id='1', score=0.9716712951660156, sub_categories={'CHARS': ContainerAnnotation(active=True, annotation_id='3bb03560-00ea-3a21-bab9-c3aa0ec938d3', category_name='CHARS', category_id='None', score=None, sub_categories={}, relationships={}, value='Anleihemärkte'), 'BLOCK': CategoryAnnotation(active=True, annotation_id='b7f36a28-09b4-3954-a002-9064471c365e', category_name='BLOCK', category_id='None', score=None, sub_categories={}, relationships={}), 'LINE': CategoryAnnotation(active=True, annotation_id='f152b47f-61f9-31b3-9904-bfc52a47c003', category_name='LINE', category_id='None', score=None, sub_categories={}, relationships={})}, relationships={}, bounding_box=BoundingBox(absolute_coords=True, ulx=137.22318817675114, uly=155.71465119719505, lrx=474.8347396850586, lry=196.48566928505898, height=40.77101808786392, width=337.61155150830746)))
+     ImageAnnotation(active=True, annotation_id='a913d880-af59-302c-a09c-d6cbba4a4ce6', category_name='WORD', category_id='1', score=0.9716712951660156, sub_categories={'CHARS': ContainerAnnotation(active=True, annotation_id='767ad536-9d33-35c5-b9de-b4a7169beebd', category_name='CHARS', category_id='None', score=0.9716712951660156, sub_categories={}, relationships={}, value='Anleihemärkte')}, relationships={}, bounding_box=BoundingBox(absolute_coords=True, ulx=137.22318817675114, uly=155.71465119719505, lrx=474.8347396850586, lry=196.48566928505898, height=40.77101808786392, width=337.61155150830746)))
 
 
 
@@ -240,7 +261,8 @@ Reading order service has a straight forward setup.
 
 .. code:: ipython3
 
-    reading_order_service = TextOrderService()
+    reading_order_service = TextOrderService(text_container="WORD",floating_text_block_names=["TEXT","TITLE","LIST"],
+                                             text_block_names=["TEXT","TITLE","LIST","TABLE","FIGURE"])
 
 .. code:: ipython3
 
@@ -263,8 +285,13 @@ the output accordingly
 
 .. parsed-literal::
 
-    [32m[0310 11:47:24 @common.py:558][0m [JoinData] Size check failed for the list of dataflow to be joined!
-    processing sample_3.png
+    [32m[0516 15:43:09 @common.py:558][0m [JoinData] Size check failed for the list of dataflow to be joined!
+
+    [32m[0516 15:43.09 @doctectionpipe.py:92][0m [32mINF[0m processing sample_3.png
+    [32m[0516 15:43.12 @timer.py:48][0m [32mINF[0m TextExtractionService finished, 3.08 sec.
+    [32m[0516 15:43.12 @timer.py:48][0m [32mINF[0m ImageLayoutService finished, 0.1061 sec.
+    [32m[0516 15:43.12 @timer.py:48][0m [32mINF[0m MatchingService finished, 0.0093 sec.
+    [32m[0516 15:43.12 @timer.py:48][0m [32mINF[0m TextOrderService finished, 0.0294 sec.
 
 
 We can eventually print the OCRed text in reading order with the
@@ -279,15 +306,15 @@ get_text method.
 
     
     Anleihemärkte im Geschäftsjahr bis zum 31.12.2018
-    Die internationalen Anleihe- märkte entwickelten sich im Geschäftsjahr 2018 unter- schiedlich und phasenweise sehr volatil. Dabei machte sich bei den Investoren zunehmend Nervosität breit, was in steigen- den Risikoprämien zum Aus- druck kam. Grund hierfür waren Turbulenzen auf der weltpoli- tischen Bühne, die die politi- schen Risiken erhöhten. Dazu zählten unter anderem populis- tische Strömungen nicht nur den USA und Europa, auch den Emerging Markets, wie zuletzt in Brasilien und Mexiko, wo Populisten in die Regie- rungen gewählt wurden. Der eskalierende Handelskonflikt zwischen den USA einerseits sowie Europa und China ande- rerseits tat sein übriges. Zudem ging Italien im Rahmen seiner Haushaltspolitik auf Konfronta- tionskurs zur Europäischen Uni- on (EU). Darüber hinaus verun- sicherte weiterhin der drohende Brexit die Marktteilnehmer, insbesondere dahingehend, ob der mögliche Austritt des Ver- einigten Königreiches aus der EU geordnet oder - ohne ein Übereinkommen - ungeordnet vollzogen wird. Im Gegensatz den politischen Unsicher- heiten standen die bislang eher zuversichtlichen, konventionel- len Wirtschaftsindikatoren. So expandierte die Weltwirtschaft kräftig, wenngleich sich deren Wachstum im Laufe der zwei- ten Jahreshälfte 2018 etwas verlangsamte. Die Geldpolitik war historisch gesehen immer noch sehr locker, trotz der welt- weit sehr hohen Verschuldung und der Zinserhöhungen der US-Notenbank.
-    Zinswende nach bei Anleiherenditen? Im Berichtszeitraum kam es an den Anleihemärkten - wenn auch uneinheitlich und unter- schiedlich stark ausgeprägt - unter Schwankungen zu stei- genden Renditen auf teilweise immer noch sehr niedrigem Niveau, begleitet von nachge- benden Kursen. Dabei konnten sich die Zinsen vor allem in den USA weiter von ihren histori- schen Tiefs lösen. Gleichzeitig wurde die Zentralbankdivergenz zwischen den USA und dem Euroraum immer deutlicher. An- gesichts des Wirtschaftsbooms in den USA hob die US-Noten- bank Fed im Berichtszeitraum den Leitzins in vier Schritten weiter um einen Prozentpunkt auf einen Korridor von 2,25% - 2,50% p. a. an. Die Europäische Zentralbank (EZB) hingegen hielt an ihrer Nullzinspolitik fest und die Bank of Japan beließ ihren Leitzins bei -0,10% p. a. Die Fed begründete ihre Zinser- höhungen mit der Wachstums- beschleunigung und der Voll- beschäftigung am Arbeitsmarkt in den USA. Zinserhöhungen ermöglichten der US-Notenbank einer Überhitzung der US-Wirt- schaft vorzubeugen, die durch die prozyklische expansive
+    Die internationalen Anleihe- märkte entwickelten sich im Geschäftsjahr 2018 unter- schiedlich und phasenweise sehr volatil. Dabei machte sich bei den Investoren zunehmend Nervosität breit, was in steigen- den Risikoprämien zum Aus- druck kam. Grund hierfür waren Turbulenzen auf der weltpoli- tischen Bühne, die die politi- schen Risiken erhöhten. Dazu zählten unter anderem populis- tische Strömungen nicht nur den USA und Europa, auch den Emerging Markets, wie zuletzt in Brasilien und Mexiko, wo Populisten in die Regie- rungen gewählt wurden. Der eskalierende Handelskonflikt zwischen den USA einerseits sowie Europa und China ande- rerseits tat sein übriges. Zudem ging Italien im Rahmen seiner Haushaltspolitik auf Konfronta- tionskurs zur Europäischen Uni- on (EU). Darüber hinaus verun- sicherte weiterhin der drohende Brexit die Marktteilnehmer, insbesondere dahingehend, ob der mögliche Austritt des Ver- einigten Königreiches aus der EU geordnet oder - ohne ein Übereinkommen - ungeordnet vollzogen wird. Im Gegensatz zu den politischen Unsicher- heiten standen die bislang eher zuversichtlichen, konventionel- len Wirtschaftsindikatoren. So expandierte die Weltwirtschaft kräftig, wenngleich sich deren Wachstum im Laufe der zwei- ten Jahreshälfte 2018 etwas verlangsamte. Die Geldpolitik war historisch gesehen immer noch sehr locker, trotz der welt- weit sehr hohen Verschuldung und der Zinserhöhungen der US-Notenbank.
     Entwicklung der Leitzinsen in den USA und im Euroraum % p.a.
+    Zinswende nach bei Anleiherenditen? Im Berichtszeitraum kam es an den Anleihemärkten - wenn auch uneinheitlich und unter- schiedlich stark ausgeprägt - unter Schwankungen zu stei- genden Renditen auf teilweise immer noch sehr niedrigem Niveau, begleitet von nachge- benden Kursen. Dabei konnten sich die Zinsen vor allem in den USA weiter von ihren histori- schen Tiefs lösen. Gleichzeitig wurde die Zentralbankdivergenz zwischen den USA und dem Euroraum immer deutlicher. An- gesichts des Wirtschaftsbooms in den USA hob die US-Noten- bank Fed im Berichtszeitraum den Leitzins in vier Schritten weiter um einen Prozentpunkt auf einen Korridor von 2,25% - 2,50% p. a. an. Die Europäische Zentralbank (EZB) hingegen hielt an ihrer Nullzinspolitik fest und die Bank of Japan beließ ihren Leitzins bei -0,10% p. a. Die Fed begründete ihre Zinser- höhungen mit der Wachstums- beschleunigung und der Voll- beschäftigung am Arbeitsmarkt in den USA. Zinserhöhungen ermöglichten der US-Notenbank einer Überhitzung der US-Wirt- schaft vorzubeugen, die durch die prozyklische expansive
     Fiskalpolitik des US-Präsidenten Donald Trump in Form von Steuererleichterungen und einer Erhöhung der Staatsausgaben noch befeuert wurde. Vor die- sem Hintergrund verzeichneten die US-Bondmärkte einen spür- baren Renditeanstieg, der mit merklichen Kursermäßigungen einherging. Per saldo stiegen die Renditen zehnjähriger US- Staatsanleihen auf Jahressicht von 2,4% p.a. auf 3,1% p. a.
     Diese Entwicklung in den USA hatte auf den Euroraum jedoch nur phasenweise und partiell, insgesamt aber kaum einen zinstreibenden Effekt auf Staats- anleihen aus den europäischen Kernmärkten wie beispielsweise Deutschland und Frankreich. gaben zehnjährige deutsche Bundesanleihen im Jahresver- lauf 2018 unter Schwankungen per saldo sogar von 0,42% p.a. auf 0,25% p. a. nach. Vielmehr standen die Anleihemärkte der Euroländer - insbeson- dere ab dem zweiten Quartal 2018 - unter dem Einfluss der politischen und wirtschaftlichen Entwicklung in der Eurozone, vor allem in den Ländern mit hoher Verschuldung und nied- rigem Wirtschaftswachstum. den Monaten Mai und Juni
 
 
-How to continue
-===============
+How to continue (2)
+===================
 
 In the next step we recommend the tutorial **Datasets_and_Eval**. Here,
 the data model of the package is explained in more detail. It also
diff --git a/docs/tutorials/datasets_and_eval_notebook.rst b/docs/tutorials/datasets_and_eval_notebook.rst
index 852c81a4..061753bd 100644
--- a/docs/tutorials/datasets_and_eval_notebook.rst
+++ b/docs/tutorials/datasets_and_eval_notebook.rst
@@ -42,14 +42,14 @@ By default, all available information is always provided for a data
 point via the dataflow. If you want to suppress certain information, you
 can configure this accordingly in the data set.
 
-We will now make use of a builtin datasets. We use a DatasetRegistry to
-be able to access the built-in dataset directly. Note, that there is no
+We will now make use of a builtin datasets. We use a factory function to
+have immediate access to the built-in dataset. Note, that there is no
 automatism to download, extract and save the datasets. We will show you
 how to get the required details.
 
 .. code:: ipython3
 
-    from deepdoctection.datasets import DatasetRegistry
+    from deepdoctection.datasets import print_dataset_infos, get_dataset
     from deepdoctection.datasets.instances import pubtabnet as pt
     from deepdoctection.extern import ModelCatalog
     from deepdoctection.eval import MetricRegistry, Evaluator
@@ -60,20 +60,38 @@ how to get the required details.
 
 .. code:: ipython3
 
-    DatasetRegistry.print_dataset_names()
+    print_dataset_infos(add_license=False, add_info=False)
 
 
 .. parsed-literal::
 
-    ['fintabnet', 'funsd', 'iiitar13k', 'testlayout', 'publaynet', 'pubtables1m', 'pubtabnet', 'xfund']
-
-
-With ``DatasetRegistry.get_dataset("pubtabnet")`` we can generate an
-instance of this dataset.
+    [36m╒═════════════╕
+    │ dataset     │
+    ╞═════════════╡
+    │ fintabnet   │
+    ├─────────────┤
+    │ funsd       │
+    ├─────────────┤
+    │ iiitar13k   │
+    ├─────────────┤
+    │ testlayout  │
+    ├─────────────┤
+    │ publaynet   │
+    ├─────────────┤
+    │ pubtables1m │
+    ├─────────────┤
+    │ pubtabnet   │
+    ├─────────────┤
+    │ xfund       │
+    ╘═════════════╛[0m
+
+
+With ``get_dataset("pubtabnet")`` we can generate an instance of this
+dataset.
 
 .. code:: ipython3
 
-    pubtabnet = DatasetRegistry.get_dataset("pubtabnet")
+    pubtabnet = get_dataset("pubtabnet")
     pubtabnet.dataset_info.description
 
 
@@ -81,7 +99,7 @@ instance of this dataset.
 
 .. parsed-literal::
 
-    "PubTabNet is a large dataset for image-based table recognition, containing 568k+ images of tabular data annotated with the corresponding HTML representation of the tables. The table images are extracted from the scientific publications included in the PubMed Central Open Access Subset (commercial use collection). Table regions are identified by matching the PDF format and the XML format of the articles in the PubMed Central Open Access Subset. More details are available in our paper 'Image-based table recognition: data, model, and evaluation'. Pubtabnet can be used for training cell detection models as well as for semantic table understanding algorithms. For detection it has cell bounding box annotations as well as precisely described table semantics like row - and column numbers and row and col spans. Moreover, every cell can be classified as header or non-header cell. The dataflow builder can also return captions of bounding boxes of rows and columns. Moreover, various filter conditions on the table structure are available: maximum cell numbers, maximal row and column numbers and their minimum equivalents can be used as filter condition"
+    "PubTabNet is a large dataset for image-based table recognition, containing 568k+ images of \ntabular data annotated with the corresponding HTML representation of the tables. The table images \n are extracted from the scientific publications included in the PubMed Central Open Access Subset \n (commercial use collection). Table regions are identified by matching the PDF format and \n the XML format of the articles in the PubMed Central Open Access Subset. More details are \n available in our paper 'Image-based table recognition: data, model, and evaluation'. \nPubtabnet can be used for training cell detection models as well as for semantic table \nunderstanding algorithms. For detection it has cell bounding box annotations as \nwell as precisely described table semantics like row - and column numbers and row and col spans. \nMoreover, every cell can be classified as header or non-header cell. The dataflow builder can also \nreturn captions of bounding boxes of rows and columns. Moreover, various filter conditions on \nthe table structure are available: maximum cell numbers, maximal row and column numbers and their \nminimum equivalents can be used as filter condition"
 
 
 
@@ -148,12 +166,10 @@ COLUMN_NUMBER.
 
 .. code:: ipython3
 
-    df = pubtabnet.dataflow.build(split="train")
-    df.reset_state()
-    df_iter = iter(df)
-    datapoint = next(df_iter)
-    datapoint_dict = datapoint.as_dict()
-    datapoint_dict["file_name"],datapoint_dict["location"],datapoint_dict["image_id"], datapoint_dict["annotations"][0]
+    df = pubtabnet.dataflow.build(split=“train”) df.reset_state() df_iter =
+    iter(df) datapoint = next(df_iter) datapoint_dict = datapoint.as_dict()
+    datapoint_dict[“file_name”],datapoint_dict[“location”],datapoint_dict[“image_id”],
+    datapoint_dict[“annotations”][0]
 
 Depending on the dataset, different configurations can be provided via
 the build method. For example, the image itself is not loaded by
@@ -179,7 +195,7 @@ numpy array in RGB order, we have to swap dimensions.
 
 .. parsed-literal::
 
-    <matplotlib.image.AxesImage at 0x7fa0e6252d90>
+    <matplotlib.image.AxesImage at 0x7f84737ffbb0>
 
 
 
@@ -197,13 +213,11 @@ Through the method ``set_cat_to_sub_cat`` the category can be changed.
 
 .. code:: ipython3
 
-    pubtabnet.dataflow.categories.set_cat_to_sub_cat({"CELL":"HEAD"})
-    df = pubtabnet.dataflow.build(split="train")
-    df.reset_state()
-    df_iter = iter(df)
-    datapoint = next(df_iter)
-    datapoint_dict = datapoint.as_dict()
-    datapoint_dict["file_name"],datapoint_dict["location"],datapoint_dict["image_id"], datapoint_dict["annotations"][0]
+    pubtabnet.dataflow.categories.set_cat_to_sub_cat({“CELL”:“HEAD”}) df =
+    pubtabnet.dataflow.build(split=“train”) df.reset_state() df_iter =
+    iter(df) datapoint = next(df_iter) datapoint_dict = datapoint.as_dict()
+    datapoint_dict[“file_name”],datapoint_dict[“location”],datapoint_dict[“image_id”],
+    datapoint_dict[“annotations”][0]
 
 This data set was used to train the cell detector of the analyzer. We
 will discuss the table detection architecture in more detail later.
@@ -255,7 +269,7 @@ in the datapoint, we filter them out.
 
 .. code:: ipython3
 
-    pubtabnet = DatasetRegistry.get_dataset("pubtabnet")
+    pubtabnet = get_dataset("pubtabnet")
     pubtabnet.dataflow.categories.filter_categories(categories="CELL")
     categories = pubtabnet.dataflow.categories.get_categories(filtered=True)
     
@@ -272,54 +286,6 @@ argument along with other possible build configurations.
     evaluator = Evaluator(pubtabnet,layout_service, coco_metric)
     output= evaluator.run(category_names=["CELL"],max_datapoints=100)
 
-
-.. parsed-literal::
-
-    [32m[0310 17:14.26 @eval.py:67][0m [32mINF[0m Building multi threading pipeline component to increase prediction throughput. Using 2 threads
-    [32m[0310 17:14:26 @varmanip.py:214][0m Checkpoint path /home/janis/.cache/deepdoctection/weights/cell/model-1800000.data-00000-of-00001 is auto-corrected to /home/janis/.cache/deepdoctection/weights/cell/model-1800000.
-    [32m[0310 17:14:28 @sessinit.py:86][0m [5m[31mWRN[0m The following variables are in the checkpoint, but not found in the graph: global_step, learning_rate
-    [32m[0310 17:14:29 @sessinit.py:114][0m Restoring checkpoint from /home/janis/.cache/deepdoctection/weights/cell/model-1800000 ...
-    INFO:tensorflow:Restoring parameters from /home/janis/.cache/deepdoctection/weights/cell/model-1800000
-    [32m[0310 17:14.29 @logger.py:193][0m [32mINF[0m Loading annotations for 'val' split from Pubtabnet will take some time...
-    [32m[0310 17:15.10 @logger.py:193][0m [32mINF[0m dp: 549232 is malformed, err: IndexError,
-                msg: list assignment index out of range in: <frame at 0x6a75050, file '/home/janis/Public/deepdoctection/deepdoctection/mapper/pubstruct.py', line 259, code pub_to_image_uncur> will be filtered
-    [32m[0310 17:15.11 @eval.py:116][0m [32mINF[0m Predicting objects...
-
-
-.. parsed-literal::
-
-    100%|██████████| 99/99 [00:11<00:00,  8.65it/s]
-
-.. parsed-literal::
-
-    [32m[0310 17:15.23 @eval.py:121][0m [32mINF[0m Starting evaluation...
-
-
-.. parsed-literal::
-
-    creating index...
-    index created!
-    creating index...
-    index created!
-    Running per image evaluation...
-    Evaluate annotation type *bbox*
-    DONE (t=8.23s).
-    Accumulating evaluation results...
-    DONE (t=0.10s).
-     Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = -1.000
-     Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=600 ] = 0.950
-     Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=600 ] = 0.938
-     Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=600 ] = 0.802
-     Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=600 ] = 0.845
-     Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=600 ] = 0.828
-     Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 50 ] = 0.532
-     Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=200 ] = 0.850
-     Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=600 ] = 0.859
-     Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=600 ] = 0.838
-     Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=600 ] = 0.876
-     Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=600 ] = 0.851
-
-
 As mentioned we are now going to evaluate the cell predictor on tables
 from business documents. One difference from the previous evaluation is
 the representation of the dataset. Unlike Pubtabnet where tables are
@@ -342,57 +308,12 @@ previous evaluation.
 
 .. code:: ipython3
 
-    fintabnet = DatasetRegistry.get_dataset("fintabnet")
+    fintabnet = get_dataset("fintabnet")
     fintabnet.dataflow.categories.filter_categories(categories="CELL")
     
     evaluator = Evaluator(fintabnet,layout_service, coco_metric)
     output= evaluator.run(category_names=["CELL"],max_datapoints=100,build_mode="table",load_image=True, use_multi_proc=False)
 
-
-.. parsed-literal::
-
-    [32m[0310 17:16.19 @eval.py:67][0m [32mINF[0m Building multi threading pipeline component to increase prediction throughput. Using 2 threads
-    [32m[0310 17:16:19 @varmanip.py:214][0m Checkpoint path /home/janis/.cache/deepdoctection/weights/cell/model-1800000.data-00000-of-00001 is auto-corrected to /home/janis/.cache/deepdoctection/weights/cell/model-1800000.
-    [32m[0310 17:16:21 @sessinit.py:86][0m [5m[31mWRN[0m The following variables are in the checkpoint, but not found in the graph: global_step, learning_rate
-    [32m[0310 17:16:22 @sessinit.py:114][0m Restoring checkpoint from /home/janis/.cache/deepdoctection/weights/cell/model-1800000 ...
-    INFO:tensorflow:Restoring parameters from /home/janis/.cache/deepdoctection/weights/cell/model-1800000
-    [32m[0310 17:16.43 @eval.py:116][0m [32mINF[0m Predicting objects...
-
-
-.. parsed-literal::
-
-    100%|██████████| 100/100 [00:07<00:00, 14.00it/s]
-
-.. parsed-literal::
-
-    [32m[0310 17:16.50 @eval.py:121][0m [32mINF[0m Starting evaluation...
-
-
-.. parsed-literal::
-
-    creating index...
-    index created!
-    creating index...
-    index created!
-    Running per image evaluation...
-    Evaluate annotation type *bbox*
-    DONE (t=1.69s).
-    Accumulating evaluation results...
-    DONE (t=0.06s).
-     Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = -1.000
-     Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=600 ] = 0.902
-     Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=600 ] = 0.701
-     Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=600 ] = 0.555
-     Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=600 ] = 0.559
-     Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=600 ] = 0.690
-     Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 50 ] = 0.587
-     Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=200 ] = 0.648
-     Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=600 ] = 0.648
-     Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=600 ] = 0.631
-     Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=600 ] = 0.625
-     Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=600 ] = 0.763
-
-
 What stands out ?
 
 The mAP for a low IoU drops somewhat. While the mAP for higher IoUs
@@ -403,8 +324,8 @@ fundamentally unable to detect the cells (otherwise the 0.5 IoU would be
 significantly worse), but that it is more difficult for the predictor to
 determine the exact size of the cell.
 
-How to continue
-===============
+How to continue (3)
+===================
 
 In the last **Fine_Tune** notebook tutorial, we will discuss training a
 Tensorpack Predictor on a dataset.
diff --git a/docs/tutorials/fine_tune_notebook.rst b/docs/tutorials/fine_tune_notebook.rst
index c2e608ee..720a7279 100644
--- a/docs/tutorials/fine_tune_notebook.rst
+++ b/docs/tutorials/fine_tune_notebook.rst
@@ -30,7 +30,6 @@ the data available and, of course, on the taste of the developer.
 .. figure:: ./pics/dd_table.png
    :alt: title
 
-   title
 
 Table extraction is carried out in different stages:
 
@@ -71,8 +70,8 @@ Faster-RCNN model from Tensorpack. We use the same model as above.
 .. code:: ipython3
 
     import os
-    from deepdoctection.datasets import DatasetRegistry
-    from deepdoctection.eval import MetricRegistry
+    from deepdoctection.datasets import get_dataset
+    from deepdoctection.eval import metric_registry
     from deepdoctection.extern import ModelCatalog
     from deepdoctection.train import train_faster_rcnn
 
@@ -86,7 +85,7 @@ script, we explicitly pass the split.
     path_weights= ModelCatalog.get_full_path_weights("cell/model-1800000.data-00000-of-00001")
     path_config_yaml=ModelCatalog.get_full_path_configs("cell/model-1800000.data-00000-of-00001")
     
-    fintabnet = DatasetRegistry.get_dataset("fintabnet")
+    fintabnet = get_dataset("fintabnet")
     fintabnet.dataflow.categories.filter_categories(categories="CELL")
     
     dataset_train = fintabnet
@@ -95,7 +94,7 @@ script, we explicitly pass the split.
     dataset_val = fintabnet
     build_val_config = ["max_datapoints=100","build_mode='table'","load_image=True", "use_multi_proc_strict=True","split=val"]
     
-    coco_metric = MetricRegistry.get_metric("coco")
+    coco_metric = metric_registry.get("coco")
     coco_metric.set_params(max_detections=[50,200,600], area_range=[[0,1000000],[0,200],[200,800],[800,1000000]])
 
 With the following configuration we override the default training
@@ -122,10 +121,11 @@ deleted and created again!
                       dataset_train= dataset_train,
                       path_weights=path_weights,
                       config_overwrite=config_overwrite,
-                      log_dir="/home/janis/Documents/sample_train",
+                      log_dir="/path/tp/dir",
                       build_train_config=build_train_config,
                       dataset_val=dataset_val,
                       build_val_config=build_val_config,
                       metric=coco_metric,
                       pipeline_component_name="ImageLayoutService"
                      )
+
diff --git a/docs/tutorials/get_started_notebook.rst b/docs/tutorials/get_started_notebook.rst
index 47488b95..080769b6 100644
--- a/docs/tutorials/get_started_notebook.rst
+++ b/docs/tutorials/get_started_notebook.rst
@@ -1,8 +1,6 @@
 .. figure:: ./pics/dd_logo.png
    :alt: title
 
-   title
-
 Getting started
 ===============
 
@@ -45,8 +43,6 @@ selection on the notebook.
 .. figure:: ./pics/dd_kernel.png
    :alt: title
 
-   title
-
 You can check if the installation was successful by activating the next
 cell.
 
@@ -61,20 +57,18 @@ cell.
 Sample
 ------
 
-Let’s first look at a sample page we want to process.
+Let’s first look at a sample page we want to process. (You will probably
+need to change ``image_path``.)
 
 .. code:: ipython3
 
-    image_path = os.path.join(get_package_path(),"notebooks/pics/samples/sample_2/sample_2.png")
-    image = cv2.imread(image_path)
-    plt.figure(figsize = (25,17))
-    plt.axis('off')
-    plt.imshow(image)
+    image_path = os.path.join(get_package_path(),“notebooks/pics/samples/sample_2/sample_2.png”)
+    image = cv2.imread(image_path) plt.figure(figsize = (25,17))
+    plt.axis(‘off’) plt.imshow(image)
 
 .. figure:: ./pics/sample_2.png
    :alt: title
 
-   title
 
 Analyzer
 --------
@@ -105,7 +99,6 @@ blocks as described in the diagram
 .. figure:: ./pics/dd_pipeline.png
    :alt: title
 
-   title
 
 The default setting performs layout recognition, table segmentation and
 OCR extraction. You can sitch table segmentation and OCR off in order to
@@ -134,12 +127,6 @@ pages.
     path = os.path.join(get_package_path(),"notebooks/pics/samples/sample_2")
     df = analyzer.analyze(path=path)
 
-
-.. parsed-literal::
-
-    [32m[0309 11:59:03 @common.py:558][0m [JoinData] Size check failed for the list of dataflow to be joined!
-
-
 You can see when running the cell that not much has happened. Indeed,
 the analyze method returns a generator. The generator allows processing
 to be started via a for-loop.
@@ -155,7 +142,15 @@ next function is called.
 
 .. parsed-literal::
 
-    processing sample_2.png
+    [32m[0516 15:44.32 @doctectionpipe.py:92][0m [32mINF[0m processing sample_2.png
+    [32m[0516 15:44.35 @timer.py:48][0m [32mINF[0m ImageLayoutService finished, 2.4933 sec.
+    [32m[0516 15:44.36 @timer.py:48][0m [32mINF[0m SubImageLayoutService finished, 1.0065 sec.
+    [32m[0516 15:44.37 @timer.py:48][0m [32mINF[0m SubImageLayoutService finished, 0.9579 sec.
+    [32m[0516 15:44.37 @timer.py:48][0m [32mINF[0m TableSegmentationService finished, 0.0054 sec.
+    [32m[0516 15:44.37 @timer.py:48][0m [32mINF[0m TableSegmentationRefinementService finished, 0.0013 sec.
+    [32m[0516 15:44.40 @timer.py:48][0m [32mINF[0m TextExtractionService finished, 3.387 sec.
+    [32m[0516 15:44.40 @timer.py:48][0m [32mINF[0m MatchingService finished, 0.0042 sec.
+    [32m[0516 15:44.40 @timer.py:48][0m [32mINF[0m TextOrderService finished, 0.0456 sec.
 
 
 Page object
@@ -200,7 +195,6 @@ positions can be seen in the cell names.
 .. figure:: https://github.com/deepdoctection/deepdoctection/raw/master/docs/tutorials/pics/output_16_1.png
    :alt: title
 
-   title
 
 The next methods are devoted to the text output.
 
@@ -271,6 +265,9 @@ objects. Obviously, only one table has been detected.
     ______________ row: 7 ______________
     row: 7, col: 1, rs: 1, cs: 1, text: Gesamtvergütung für sonstige Risikoträger 
     row: 7, col: 2, rs: 1, cs: 1, text: EUR 324.229 
+    ______________ row: 8 ______________
+    row: 8, col: 1, rs: 1, cs: 1, text: Gesamtvergütung für Mitarbeiter mit Kontrollfunktionen 
+    row: 8, col: 2, rs: 1, cs: 1, text: EUR 554.046 
     
 
 
diff --git a/notebooks/Custom_Pipeline.ipynb b/notebooks/Custom_Pipeline.ipynb
index 0b0e6514..32b34088 100644
--- a/notebooks/Custom_Pipeline.ipynb
+++ b/notebooks/Custom_Pipeline.ipynb
@@ -30,7 +30,7 @@
     "\n",
     "TextExtractionService is a component that calls a selected OCR service and transforms the returned results into the internal data model. It is possible to plug in any OCR Detector into the pipeline component. This allows a certain flexibility with the composition of pipelines.\n",
     "\n",
-    "Important! Textract is an AWS paid service and you will need an AWS account to call the client. Alternatively, you can also instantiate a open sourced OCR service like Tesseract."
+    "Important! Textract is an AWS paid service and you will need an AWS account to call the client. Alternatively, you can also instantiate a open sourced OCR service like Tesseract. Just disable `TextractOcrDetector()` and uncomment the following two lines! "
    ]
   },
   {
@@ -40,9 +40,9 @@
    "outputs": [],
    "source": [
     "import os\n",
-    "from deepdoctection.extern import TextractOcrDetector\n",
+    "from deepdoctection.extern import TextractOcrDetector, TesseractOcrDetector\n",
     "from deepdoctection.pipe import TextExtractionService, DoctectionPipe\n",
-    "from deepdoctection.utils.systools import get_package_path"
+    "from deepdoctection.utils.systools import get_package_path, get_configs_dir_path"
    ]
   },
   {
@@ -53,6 +53,9 @@
    "source": [
     "ocr_detector = TextractOcrDetector()\n",
     "\n",
+    "#tess_ocr_config_path = os.path.join(get_configs_dir_path(),\"dd/conf_tesseract.yaml\")\n",
+    "#ocr_detector = TesseractOcrDetector(tess_ocr_config_path, config_overwrite=[\"LANGUAGES=deu\"])\n",
+    "\n",
     "textract_service = TextExtractionService(ocr_detector,None)\n",
     "pipeline_component_list = [textract_service]"
    ]
@@ -102,18 +105,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "\u001b[32m[0317 17:36:57 @common.py:558]\u001b[0m [JoinData] Size check failed for the list of dataflow to be joined!\n",
-      "processing sample_3.png\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "df = pipeline.analyze(path=path, output=\"image\")\n",
     "doc = next(iter(df))"
@@ -135,7 +129,7 @@
      "data": {
       "text/plain": [
        "(551,\n",
-       " ImageAnnotation(active=True, annotation_id='172d1585-9e41-3e79-b7ac-65c81e55340f', category_name='WORD', category_id='1', score=0.9716712951660156, sub_categories={'CHARS': ContainerAnnotation(active=True, annotation_id='3bb03560-00ea-3a21-bab9-c3aa0ec938d3', category_name='CHARS', category_id='None', score=None, sub_categories={}, relationships={}, value='Anleihemärkte')}, relationships={}, bounding_box=BoundingBox(absolute_coords=True, ulx=137.22318817675114, uly=155.71465119719505, lrx=474.8347396850586, lry=196.48566928505898, height=40.77101808786392, width=337.61155150830746)))"
+       " ImageAnnotation(active=True, annotation_id='a913d880-af59-302c-a09c-d6cbba4a4ce6', category_name='WORD', category_id='1', score=0.9716712951660156, sub_categories={'CHARS': ContainerAnnotation(active=True, annotation_id='767ad536-9d33-35c5-b9de-b4a7169beebd', category_name='CHARS', category_id='None', score=0.9716712951660156, sub_categories={}, relationships={}, value='Anleihemärkte')}, relationships={}, bounding_box=BoundingBox(absolute_coords=True, ulx=137.22318817675114, uly=155.71465119719505, lrx=474.8347396850586, lry=196.48566928505898, height=40.77101808786392, width=337.61155150830746)))"
       ]
      },
      "execution_count": 6,
@@ -155,7 +149,7 @@
     "\n",
     "The current information does not help much so far. An arrangement of word coordinates from left to right would not result in a meaningful reading order, as the layout incorporates several columns. One rather has to determine additional text blocks that frame individual columns. A built-in layout detector and the associated ImageLayoutService as a pipeline component are suitable for this.\n",
     "\n",
-    "At this point it starts to depend on whether the DL framework Tensorflow or PyTorch is to be used. We assume that Tensorflow is installed, hence we need to import the Tensorflow related Detector TPFrcnnDetector. Use D2FrcnnDetector for PyTorch.\n",
+    "At this point it starts to depend on whether the DL framework Tensorflow or PyTorch will be used. We assume that Tensorflow is installed, hence we need to import the Tensorflow related Detector TPFrcnnDetector. Use D2FrcnnDetector for PyTorch.\n",
     "\n",
     "We use the model config and the weights of the built-in analyzer. If you haven't got through the starter tutorial you can download weights using the ModelDownloadManager. \n",
     "\n",
@@ -164,7 +158,7 @@
     "ModelDownloadManager.maybe_download_weights_and_configs(\"layout/model-800000_inf_only.data-00000-of-00001\")\n",
     "```\n",
     "\n",
-    "Download `layout/d2_model-800000-layout.pkl` instead, in case you use PyTorch. "
+    "Download `\"layout/d2_model-800000-layout.pkl\"` instead, in case you use PyTorch. "
    ]
   },
   {
@@ -183,22 +177,55 @@
    "metadata": {},
    "source": [
     "When the model is downloaded from the hub, both the weights and the config file are loaded into the cache. The paths to both files are required\n",
-    "in order to instantiate the detector. You can use the ModelCatalog to build the path.\n",
+    "in order to instantiate the detector. You can use the ModelCatalog to build the path. Moreover, the ModelCatalog\n",
+    "provides a brief model card of all registered models.\n",
     "\n",
     "It is also necessary to pass a dict with the category-id/category names pairs. This mapping is standard and results from the dataset Publaynet on which this model was trained."
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "{'name': 'layout/model-800000_inf_only.data-00000-of-00001',\n",
+       " 'description': 'Tensorpack layout model for inference purposes trained on Publaynet',\n",
+       " 'size': [274552244, 7907],\n",
+       " 'tp_model': True,\n",
+       " 'config': 'dd/tp/conf_frcnn_layout.yaml',\n",
+       " 'hf_repo_id': 'deepdoctection/tp_casc_rcnn_X_32xd4_50_FPN_GN_2FC_publaynet_inference_only',\n",
+       " 'hf_model_name': 'model-800000_inf_only',\n",
+       " 'hf_config_file': ['conf_frcnn_layout.yaml'],\n",
+       " 'urls': None,\n",
+       " 'categories': {'1': 'TEXT',\n",
+       "  '2': 'TITLE',\n",
+       "  '3': 'LIST',\n",
+       "  '4': 'TABLE',\n",
+       "  '5': 'FIGURE'}}"
+      ]
+     },
+     "execution_count": 8,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "profile = ModelCatalog.get_profile(\"layout/model-800000_inf_only.data-00000-of-00001\")\n",
+    "profile.as_dict()"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
    "metadata": {},
    "outputs": [],
    "source": [
-    "profile = ModelCatalog.get_profile(\"layout/model-800000_inf_only.data-00000-of-00001\")\n",
-    "\n",
     "config_yaml_path = ModelCatalog.get_full_path_configs(\"layout/model-800000_inf_only.data-00000-of-00001\")\n",
     "weights_path = ModelCatalog.get_full_path_weights(\"layout/model-800000_inf_only.data-00000-of-00001\") \n",
-    "categories_layout = {\"1\": \"TEXT\", \"2\": \"TITLE\", \"3\": \"LIST\", \"4\": \"TABLE\", \"5\": \"FIGURE\"}\n",
+    "categories_layout = profile.categories\n",
     "layout_detector = TPFrcnnDetector(config_yaml_path,weights_path,categories_layout)"
    ]
   },
@@ -211,7 +238,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": 10,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -227,7 +254,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -243,7 +270,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 11,
+   "execution_count": 12,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -252,25 +279,53 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": 13,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "\u001b[32m[0317 17:37:22 @common.py:558]\u001b[0m [JoinData] Size check failed for the list of dataflow to be joined!\n",
-      "processing sample_3.png\n"
+      "\u001b[32m[0516 15:42:42 @common.py:558]\u001b[0m [JoinData] Size check failed for the list of dataflow to be joined!\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "|                                                                                                                                                                                                 |1/?[00:00<00:00,1573.26it/s]"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\u001b[32m[0516 15:42.42 @doctectionpipe.py:92]\u001b[0m \u001b[32mINF\u001b[0m processing sample_3.png\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\u001b[32m[0516 15:42.46 @timer.py:48]\u001b[0m \u001b[32mINF\u001b[0m TextExtractionService finished, 3.548 sec.\n",
+      "\u001b[32m[0516 15:42.48 @timer.py:48]\u001b[0m \u001b[32mINF\u001b[0m ImageLayoutService finished, 2.4879 sec.\n"
      ]
     },
     {
      "data": {
       "text/plain": [
        "(558,\n",
-       " ImageAnnotation(active=True, annotation_id='172d1585-9e41-3e79-b7ac-65c81e55340f', category_name='WORD', category_id='1', score=0.9716712951660156, sub_categories={'CHARS': ContainerAnnotation(active=True, annotation_id='3bb03560-00ea-3a21-bab9-c3aa0ec938d3', category_name='CHARS', category_id='None', score=None, sub_categories={}, relationships={}, value='Anleihemärkte')}, relationships={}, bounding_box=BoundingBox(absolute_coords=True, ulx=137.22318817675114, uly=155.71465119719505, lrx=474.8347396850586, lry=196.48566928505898, height=40.77101808786392, width=337.61155150830746)))"
+       " ImageAnnotation(active=True, annotation_id='a913d880-af59-302c-a09c-d6cbba4a4ce6', category_name='WORD', category_id='1', score=0.9716712951660156, sub_categories={'CHARS': ContainerAnnotation(active=True, annotation_id='767ad536-9d33-35c5-b9de-b4a7169beebd', category_name='CHARS', category_id='None', score=0.9716712951660156, sub_categories={}, relationships={}, value='Anleihemärkte')}, relationships={}, bounding_box=BoundingBox(absolute_coords=True, ulx=137.22318817675114, uly=155.71465119719505, lrx=474.8347396850586, lry=196.48566928505898, height=40.77101808786392, width=337.61155150830746)))"
       ]
      },
-     "execution_count": 12,
+     "execution_count": 13,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -292,7 +347,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
+   "execution_count": 14,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -301,7 +356,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 14,
+   "execution_count": 15,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -322,7 +377,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 15,
+   "execution_count": 16,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -331,7 +386,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 16,
+   "execution_count": 17,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -341,7 +396,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 17,
+   "execution_count": 18,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -350,7 +405,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 18,
+   "execution_count": 19,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -366,15 +421,45 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 19,
+   "execution_count": 20,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "\u001b[32m[0317 17:44:15 @common.py:558]\u001b[0m [JoinData] Size check failed for the list of dataflow to be joined!\n",
-      "processing sample_3.png\n"
+      "\u001b[32m[0516 15:43:09 @common.py:558]\u001b[0m [JoinData] Size check failed for the list of dataflow to be joined!\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "|                                                                                                                                                                                                 |1/?[00:00<00:00,1829.18it/s]"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\u001b[32m[0516 15:43.09 @doctectionpipe.py:92]\u001b[0m \u001b[32mINF\u001b[0m processing sample_3.png\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\u001b[32m[0516 15:43.12 @timer.py:48]\u001b[0m \u001b[32mINF\u001b[0m TextExtractionService finished, 3.08 sec.\n",
+      "\u001b[32m[0516 15:43.12 @timer.py:48]\u001b[0m \u001b[32mINF\u001b[0m ImageLayoutService finished, 0.1061 sec.\n",
+      "\u001b[32m[0516 15:43.12 @timer.py:48]\u001b[0m \u001b[32mINF\u001b[0m MatchingService finished, 0.0093 sec.\n",
+      "\u001b[32m[0516 15:43.12 @timer.py:48]\u001b[0m \u001b[32mINF\u001b[0m TextOrderService finished, 0.0294 sec.\n"
      ]
     }
    ],
@@ -392,7 +477,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 20,
+   "execution_count": 21,
    "metadata": {},
    "outputs": [
     {
@@ -425,9 +510,9 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "deep-doc",
+   "display_name": "deep-doc-tf",
    "language": "python",
-   "name": "deep-doc"
+   "name": "deep-doc-tf"
   },
   "language_info": {
    "codemirror_mode": {
diff --git a/notebooks/Datasets_and_Eval.ipynb b/notebooks/Datasets_and_Eval.ipynb
index efa3b33f..b1e7a433 100644
--- a/notebooks/Datasets_and_Eval.ipynb
+++ b/notebooks/Datasets_and_Eval.ipynb
@@ -22,16 +22,16 @@
     "\n",
     "By default, all available information is always provided for a data point via the dataflow. If you want to suppress certain information, you can configure this accordingly in the data set. \n",
     "\n",
-    "We will now make use of a builtin datasets. We use a DatasetRegistry to be able to access the built-in dataset directly. Note, that there is no automatism to download, extract and save the datasets. We will show you how to get the required details."
+    "We will now make use of a builtin datasets. We use a factory function to have immediate access to the built-in dataset. Note, that there is no automatism to download, extract and save the datasets. We will show you how to get the required details."
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 3,
    "metadata": {},
    "outputs": [],
    "source": [
-    "from deepdoctection.datasets import DatasetRegistry\n",
+    "from deepdoctection.datasets import print_dataset_infos, get_dataset\n",
     "from deepdoctection.datasets.instances import pubtabnet as pt\n",
     "from deepdoctection.extern import ModelCatalog\n",
     "from deepdoctection.eval import MetricRegistry, Evaluator\n",
@@ -43,46 +43,64 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 4,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "['fintabnet', 'funsd', 'iiitar13k', 'testlayout', 'publaynet', 'pubtables1m', 'pubtabnet', 'xfund']\n"
+      "\u001b[36m╒═════════════╕\n",
+      "│ dataset     │\n",
+      "╞═════════════╡\n",
+      "│ fintabnet   │\n",
+      "├─────────────┤\n",
+      "│ funsd       │\n",
+      "├─────────────┤\n",
+      "│ iiitar13k   │\n",
+      "├─────────────┤\n",
+      "│ testlayout  │\n",
+      "├─────────────┤\n",
+      "│ publaynet   │\n",
+      "├─────────────┤\n",
+      "│ pubtables1m │\n",
+      "├─────────────┤\n",
+      "│ pubtabnet   │\n",
+      "├─────────────┤\n",
+      "│ xfund       │\n",
+      "╘═════════════╛\u001b[0m\n"
      ]
     }
    ],
    "source": [
-    "DatasetRegistry.print_dataset_names()"
+    "print_dataset_infos(add_license=False, add_info=False)"
    ]
   },
   {
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "With `DatasetRegistry.get_dataset(\"pubtabnet\")` we can generate an instance of this dataset."
+    "With `get_dataset(\"pubtabnet\")` we can generate an instance of this dataset."
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 5,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "\"PubTabNet is a large dataset for image-based table recognition, containing 568k+ images of tabular data annotated with the corresponding HTML representation of the tables. The table images are extracted from the scientific publications included in the PubMed Central Open Access Subset (commercial use collection). Table regions are identified by matching the PDF format and the XML format of the articles in the PubMed Central Open Access Subset. More details are available in our paper 'Image-based table recognition: data, model, and evaluation'. Pubtabnet can be used for training cell detection models as well as for semantic table understanding algorithms. For detection it has cell bounding box annotations as well as precisely described table semantics like row - and column numbers and row and col spans. Moreover, every cell can be classified as header or non-header cell. The dataflow builder can also return captions of bounding boxes of rows and columns. Moreover, various filter conditions on the table structure are available: maximum cell numbers, maximal row and column numbers and their minimum equivalents can be used as filter condition\""
+       "\"PubTabNet is a large dataset for image-based table recognition, containing 568k+ images of \\ntabular data annotated with the corresponding HTML representation of the tables. The table images \\n are extracted from the scientific publications included in the PubMed Central Open Access Subset \\n (commercial use collection). Table regions are identified by matching the PDF format and \\n the XML format of the articles in the PubMed Central Open Access Subset. More details are \\n available in our paper 'Image-based table recognition: data, model, and evaluation'. \\nPubtabnet can be used for training cell detection models as well as for semantic table \\nunderstanding algorithms. For detection it has cell bounding box annotations as \\nwell as precisely described table semantics like row - and column numbers and row and col spans. \\nMoreover, every cell can be classified as header or non-header cell. The dataflow builder can also \\nreturn captions of bounding boxes of rows and columns. Moreover, various filter conditions on \\nthe table structure are available: maximum cell numbers, maximal row and column numbers and their \\nminimum equivalents can be used as filter condition\""
       ]
      },
-     "execution_count": 3,
+     "execution_count": 5,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "pubtabnet = DatasetRegistry.get_dataset(\"pubtabnet\")\n",
+    "pubtabnet = get_dataset(\"pubtabnet\")\n",
     "pubtabnet.dataset_info.description"
    ]
   },
@@ -95,7 +113,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 6,
    "metadata": {},
    "outputs": [
     {
@@ -104,7 +122,7 @@
        "'https://dax-cdn.cdn.appdomain.cloud/dax-pubtabnet/2.0.0/pubtabnet.tar.gz?_ga=2.267291150.146828643.1629125962-1173244232.1625045842'"
       ]
      },
-     "execution_count": 4,
+     "execution_count": 6,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -131,7 +149,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 9,
    "metadata": {},
    "outputs": [
     {
@@ -195,22 +213,22 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "<matplotlib.image.AxesImage at 0x7fa0e6252d90>"
+       "<matplotlib.image.AxesImage at 0x7f84737ffbb0>"
       ]
      },
-     "execution_count": 8,
+     "execution_count": 11,
      "metadata": {},
      "output_type": "execute_result"
     },
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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\n",
       "text/plain": [
        "<Figure size 1080x864 with 1 Axes>"
       ]
@@ -280,7 +298,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 13,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -290,7 +308,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 11,
+   "execution_count": 14,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -313,7 +331,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "pubtabnet = DatasetRegistry.get_dataset(\"pubtabnet\")\n",
+    "pubtabnet = get_dataset(\"pubtabnet\")\n",
     "pubtabnet.dataflow.categories.filter_categories(categories=\"CELL\")\n",
     "categories = pubtabnet.dataflow.categories.get_categories(filtered=True)\n",
     "\n",
@@ -330,73 +348,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "\u001b[32m[0310 17:14.26 @eval.py:67]\u001b[0m \u001b[32mINF\u001b[0m Building multi threading pipeline component to increase prediction throughput. Using 2 threads\n",
-      "\u001b[32m[0310 17:14:26 @varmanip.py:214]\u001b[0m Checkpoint path /home/janis/.cache/deepdoctection/weights/cell/model-1800000.data-00000-of-00001 is auto-corrected to /home/janis/.cache/deepdoctection/weights/cell/model-1800000.\n",
-      "\u001b[32m[0310 17:14:28 @sessinit.py:86]\u001b[0m \u001b[5m\u001b[31mWRN\u001b[0m The following variables are in the checkpoint, but not found in the graph: global_step, learning_rate\n",
-      "\u001b[32m[0310 17:14:29 @sessinit.py:114]\u001b[0m Restoring checkpoint from /home/janis/.cache/deepdoctection/weights/cell/model-1800000 ...\n",
-      "INFO:tensorflow:Restoring parameters from /home/janis/.cache/deepdoctection/weights/cell/model-1800000\n",
-      "\u001b[32m[0310 17:14.29 @logger.py:193]\u001b[0m \u001b[32mINF\u001b[0m Loading annotations for 'val' split from Pubtabnet will take some time...\n",
-      "\u001b[32m[0310 17:15.10 @logger.py:193]\u001b[0m \u001b[32mINF\u001b[0m dp: 549232 is malformed, err: IndexError,\n",
-      "            msg: list assignment index out of range in: <frame at 0x6a75050, file '/home/janis/Public/deepdoctection/deepdoctection/mapper/pubstruct.py', line 259, code pub_to_image_uncur> will be filtered\n",
-      "\u001b[32m[0310 17:15.11 @eval.py:116]\u001b[0m \u001b[32mINF\u001b[0m Predicting objects...\n"
-     ]
-    },
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "100%|██████████| 99/99 [00:11<00:00,  8.65it/s]"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "\u001b[32m[0310 17:15.23 @eval.py:121]\u001b[0m \u001b[32mINF\u001b[0m Starting evaluation...\n"
-     ]
-    },
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "creating index...\n",
-      "index created!\n",
-      "creating index...\n",
-      "index created!\n",
-      "Running per image evaluation...\n",
-      "Evaluate annotation type *bbox*\n",
-      "DONE (t=8.23s).\n",
-      "Accumulating evaluation results...\n",
-      "DONE (t=0.10s).\n",
-      " Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = -1.000\n",
-      " Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=600 ] = 0.950\n",
-      " Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=600 ] = 0.938\n",
-      " Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=600 ] = 0.802\n",
-      " Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=600 ] = 0.845\n",
-      " Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=600 ] = 0.828\n",
-      " Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 50 ] = 0.532\n",
-      " Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=200 ] = 0.850\n",
-      " Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=600 ] = 0.859\n",
-      " Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=600 ] = 0.838\n",
-      " Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=600 ] = 0.876\n",
-      " Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=600 ] = 0.851\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "evaluator = Evaluator(pubtabnet,layout_service, coco_metric)\n",
     "output= evaluator.run(category_names=[\"CELL\"],max_datapoints=100)"
@@ -415,72 +369,11 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 14,
+   "execution_count": null,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "\u001b[32m[0310 17:16.19 @eval.py:67]\u001b[0m \u001b[32mINF\u001b[0m Building multi threading pipeline component to increase prediction throughput. Using 2 threads\n",
-      "\u001b[32m[0310 17:16:19 @varmanip.py:214]\u001b[0m Checkpoint path /home/janis/.cache/deepdoctection/weights/cell/model-1800000.data-00000-of-00001 is auto-corrected to /home/janis/.cache/deepdoctection/weights/cell/model-1800000.\n",
-      "\u001b[32m[0310 17:16:21 @sessinit.py:86]\u001b[0m \u001b[5m\u001b[31mWRN\u001b[0m The following variables are in the checkpoint, but not found in the graph: global_step, learning_rate\n",
-      "\u001b[32m[0310 17:16:22 @sessinit.py:114]\u001b[0m Restoring checkpoint from /home/janis/.cache/deepdoctection/weights/cell/model-1800000 ...\n",
-      "INFO:tensorflow:Restoring parameters from /home/janis/.cache/deepdoctection/weights/cell/model-1800000\n",
-      "\u001b[32m[0310 17:16.43 @eval.py:116]\u001b[0m \u001b[32mINF\u001b[0m Predicting objects...\n"
-     ]
-    },
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "100%|██████████| 100/100 [00:07<00:00, 14.00it/s]"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "\u001b[32m[0310 17:16.50 @eval.py:121]\u001b[0m \u001b[32mINF\u001b[0m Starting evaluation...\n"
-     ]
-    },
-    {
-     "name": "stderr",
-     "output_type": "stream",
-     "text": [
-      "\n"
-     ]
-    },
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "creating index...\n",
-      "index created!\n",
-      "creating index...\n",
-      "index created!\n",
-      "Running per image evaluation...\n",
-      "Evaluate annotation type *bbox*\n",
-      "DONE (t=1.69s).\n",
-      "Accumulating evaluation results...\n",
-      "DONE (t=0.06s).\n",
-      " Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = -1.000\n",
-      " Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=600 ] = 0.902\n",
-      " Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=600 ] = 0.701\n",
-      " Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=600 ] = 0.555\n",
-      " Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=600 ] = 0.559\n",
-      " Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=600 ] = 0.690\n",
-      " Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 50 ] = 0.587\n",
-      " Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=200 ] = 0.648\n",
-      " Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=600 ] = 0.648\n",
-      " Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=600 ] = 0.631\n",
-      " Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=600 ] = 0.625\n",
-      " Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=600 ] = 0.763\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
-    "fintabnet = DatasetRegistry.get_dataset(\"fintabnet\")\n",
+    "fintabnet = get_dataset(\"fintabnet\")\n",
     "fintabnet.dataflow.categories.filter_categories(categories=\"CELL\")\n",
     "\n",
     "evaluator = Evaluator(fintabnet,layout_service, coco_metric)\n",
@@ -504,9 +397,9 @@
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "deep-doc",
+   "display_name": "deep-doc-tf",
    "language": "python",
-   "name": "deep-doc"
+   "name": "deep-doc-tf"
   },
   "language_info": {
    "codemirror_mode": {
diff --git a/notebooks/Fine_Tune.ipynb b/notebooks/Fine_Tune.ipynb
index 3a704dd3..d56112d1 100644
--- a/notebooks/Fine_Tune.ipynb
+++ b/notebooks/Fine_Tune.ipynb
@@ -57,8 +57,8 @@
    "outputs": [],
    "source": [
     "import os\n",
-    "from deepdoctection.datasets import DatasetRegistry\n",
-    "from deepdoctection.eval import MetricRegistry\n",
+    "from deepdoctection.datasets import get_dataset\n",
+    "from deepdoctection.eval import metric_registry\n",
     "from deepdoctection.extern import ModelCatalog\n",
     "from deepdoctection.train import train_faster_rcnn"
    ]
@@ -72,14 +72,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": 3,
    "metadata": {},
    "outputs": [],
    "source": [
     "path_weights= ModelCatalog.get_full_path_weights(\"cell/model-1800000.data-00000-of-00001\")\n",
     "path_config_yaml=ModelCatalog.get_full_path_configs(\"cell/model-1800000.data-00000-of-00001\")\n",
     "\n",
-    "fintabnet = DatasetRegistry.get_dataset(\"fintabnet\")\n",
+    "fintabnet = get_dataset(\"fintabnet\")\n",
     "fintabnet.dataflow.categories.filter_categories(categories=\"CELL\")\n",
     "\n",
     "dataset_train = fintabnet\n",
@@ -88,7 +88,7 @@
     "dataset_val = fintabnet\n",
     "build_val_config = [\"max_datapoints=100\",\"build_mode='table'\",\"load_image=True\", \"use_multi_proc_strict=True\",\"split=val\"]\n",
     "\n",
-    "coco_metric = MetricRegistry.get_metric(\"coco\")\n",
+    "coco_metric = metric_registry.get(\"coco\")\n",
     "coco_metric.set_params(max_detections=[50,200,600], area_range=[[0,1000000],[0,200],[200,800],[800,1000000]])"
    ]
   },
@@ -103,7 +103,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 4,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -127,7 +127,7 @@
     "                  dataset_train= dataset_train,\n",
     "                  path_weights=path_weights,\n",
     "                  config_overwrite=config_overwrite,\n",
-    "                  log_dir=\"/home/janis/Documents/sample_train\",\n",
+    "                  log_dir=\"/path/tp/dir\",\n",
     "                  build_train_config=build_train_config,\n",
     "                  dataset_val=dataset_val,\n",
     "                  build_val_config=build_val_config,\n",
@@ -135,13 +135,20 @@
     "                  pipeline_component_name=\"ImageLayoutService\"\n",
     "                 )"
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
   }
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "deep-doc",
+   "display_name": "deep-doc-tf",
    "language": "python",
-   "name": "deep-doc"
+   "name": "deep-doc-tf"
   },
   "language_info": {
    "codemirror_mode": {
diff --git a/notebooks/Get_Started.ipynb b/notebooks/Get_Started.ipynb
index 703d89b5..043d30d4 100644
--- a/notebooks/Get_Started.ipynb
+++ b/notebooks/Get_Started.ipynb
@@ -29,7 +29,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 1,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -146,9 +146,25 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 6,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\u001b[32m[0516 15:44.32 @doctectionpipe.py:92]\u001b[0m \u001b[32mINF\u001b[0m processing sample_2.png\n",
+      "\u001b[32m[0516 15:44.35 @timer.py:48]\u001b[0m \u001b[32mINF\u001b[0m ImageLayoutService finished, 2.4933 sec.\n",
+      "\u001b[32m[0516 15:44.36 @timer.py:48]\u001b[0m \u001b[32mINF\u001b[0m SubImageLayoutService finished, 1.0065 sec.\n",
+      "\u001b[32m[0516 15:44.37 @timer.py:48]\u001b[0m \u001b[32mINF\u001b[0m SubImageLayoutService finished, 0.9579 sec.\n",
+      "\u001b[32m[0516 15:44.37 @timer.py:48]\u001b[0m \u001b[32mINF\u001b[0m TableSegmentationService finished, 0.0054 sec.\n",
+      "\u001b[32m[0516 15:44.37 @timer.py:48]\u001b[0m \u001b[32mINF\u001b[0m TableSegmentationRefinementService finished, 0.0013 sec.\n",
+      "\u001b[32m[0516 15:44.40 @timer.py:48]\u001b[0m \u001b[32mINF\u001b[0m TextExtractionService finished, 3.387 sec.\n",
+      "\u001b[32m[0516 15:44.40 @timer.py:48]\u001b[0m \u001b[32mINF\u001b[0m MatchingService finished, 0.0042 sec.\n",
+      "\u001b[32m[0516 15:44.40 @timer.py:48]\u001b[0m \u001b[32mINF\u001b[0m TextOrderService finished, 0.0456 sec.\n"
+     ]
+    }
+   ],
    "source": [
     "doc=iter(df)\n",
     "page = next(doc)"
@@ -230,7 +246,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": 10,
    "metadata": {},
    "outputs": [
     {
@@ -264,7 +280,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [
     {
@@ -273,7 +289,7 @@
        "1"
       ]
      },
-     "execution_count": 10,
+     "execution_count": 11,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -284,7 +300,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 11,
+   "execution_count": 12,
    "metadata": {},
    "outputs": [
     {
@@ -332,7 +348,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": 13,
    "metadata": {},
    "outputs": [
     {
@@ -344,7 +360,7 @@
        "<IPython.core.display.HTML object>"
       ]
      },
-     "execution_count": 12,
+     "execution_count": 13,
      "metadata": {},
      "output_type": "execute_result"
     }
diff --git a/requirements.txt b/requirements.txt
index 5cbfa17c..cf9dc630 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6,6 +6,8 @@
 #
 attrs==21.4.0
     # via jsonlines
+catalogue==2.0.7
+    # via deepdoctection (setup.py)
 certifi==2021.10.8
     # via requests
 charset-normalizer==2.0.12
@@ -86,9 +88,7 @@ requests==2.27.1
 scikit-learn==1.0.2
     # via deepdoctection (setup.py)
 scipy==1.8.0
-    # via
-    #   deepdoctection (setup.py)
-    #   scikit-learn
+    # via scikit-learn
 six==1.16.0
     # via
     #   dataflow
diff --git a/setup.cfg b/setup.cfg
index 27b6dc36..ebc9547b 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -35,7 +35,7 @@ max-branches=20
 max-attributes=15
 max-locals=36
 max-returns=8
-max-statements=66
+max-statements=100
 
 [pylint.MISCELLANEOUS]
 unsafe-load-any-extension=y # https://pylint.pycqa.org/en/2.6/technical_reference/c_extensions.html that is esp. needed
diff --git a/setup.py b/setup.py
index 2df4f38f..2793d076 100644
--- a/setup.py
+++ b/setup.py
@@ -34,21 +34,22 @@ def get_version():
 sys.path.insert(0, ROOT)
 
 DIST_DEPS = [
+    "catalogue",
     "importlib-metadata",
+    "huggingface_hub",
     "jsonlines",
-    "types-termcolor",
+    "lxml",
+    "mock",
+    "networkx",
+    "numpy>=1.21",
     "opencv-python",
+    "packaging>=20.0",
     "pycocotools",
     "pypdf2>=1.27.5",
-    "numpy>=1.21",
-    "lxml",
-    "huggingface_hub",
-    "packaging>=20.0",
     "pyyaml",
     "scikit-learn",
-    "scipy",
-    "networkx",
-    "mock",
+    "scikit-learn",
+    "types-termcolor",
     "dataflow @ git+https://github.com/tensorpack/dataflow.git",
 ]
 


Test patch:
diff --git a/deepdoctection/datasets/instances/layouttest.py b/deepdoctection/datasets/instances/layouttest.py
index b9fa3145..299b37de 100644
--- a/deepdoctection/datasets/instances/layouttest.py
+++ b/deepdoctection/datasets/instances/layouttest.py
@@ -36,17 +36,18 @@
 from ..base import _BuiltInDataset
 from ..dataflow_builder import DataFlowBaseBuilder
 from ..info import DatasetCategories
+from ..registry import dataset_registry
 
 _NAME = "testlayout"
 _DESCRIPTION = (
-    "A small test set consisting of a subset of six images with layout annotations. "
+    "A small test set consisting of a subset of six images with layout annotations. \n"
     "The set is meant for debugging purposes and nothing else"
 )
 
 _LICENSE = (
-    "The annotations in this dataset belong to Dr. Janis Meyer and are licensed"
-    " under a Community Data License Agreement"
-    " – Permissive – Version 1.0 License. Dr. Janis Meyer does not own the copyright of the images."
+    "The annotations in this dataset belong to Dr. Janis Meyer and are licensed \n"
+    " under a Community Data License Agreement \n"
+    " – Permissive – Version 1.0 License. Dr. Janis Meyer does not own the copyright of the images. \n"
     " Use of the images must abide by the PMC Open Access Subset Terms of Use."
 )
 _URL = [
@@ -66,6 +67,7 @@
 _INIT_CATEGORIES = [names.C.TEXT, names.C.TITLE, names.C.LIST, names.C.TAB, names.C.FIG]
 
 
+@dataset_registry.register("testlayout")
 class LayoutTest(_BuiltInDataset):
     """
     LayoutTest
@@ -73,7 +75,8 @@ class LayoutTest(_BuiltInDataset):
 
     _name = _NAME
 
-    def _info(self) -> DatasetInfo:
+    @classmethod
+    def _info(cls) -> DatasetInfo:
         return DatasetInfo(name=_NAME, description=_DESCRIPTION, license=_LICENSE, url=_URL, splits=_SPLITS)
 
     def _categories(self) -> DatasetCategories:
diff --git a/tests/datasets/test_registry.py b/tests/datasets/test_registry.py
index 68d514a0..7b7474f8 100644
--- a/tests/datasets/test_registry.py
+++ b/tests/datasets/test_registry.py
@@ -24,14 +24,14 @@
 from deepdoctection.datasets.base import DatasetBase
 from deepdoctection.datasets.dataflow_builder import DataFlowBaseBuilder
 from deepdoctection.datasets.info import DatasetCategories, DatasetInfo
-from deepdoctection.datasets.registry import DatasetRegistry
+from deepdoctection.datasets.registry import dataset_registry, get_dataset
 
 
 def test_dataset_registry_has_all_build_in_datasets_registered() -> None:
     """
     test dataset registry has all pipeline components registered
     """
-    assert len(DatasetRegistry.get_dataset_names()) == 8
+    assert len(dataset_registry.get_all()) == 8
 
 
 def test_dataset_registry_registered_new_dataset() -> None:
@@ -39,12 +39,14 @@ def test_dataset_registry_registered_new_dataset() -> None:
     test, that the new generated dataset component "TestDataset" can be registered and retrieved from registry
     """
 
+    @dataset_registry.register("testdata")
     class TestDataset(DatasetBase):
         """
         TestDataset
         """
 
-        def _info(self) -> DatasetInfo:
+        @classmethod
+        def _info(cls) -> DatasetInfo:
             """
             Processing an image through the whole pipeline component.
             """
@@ -63,8 +65,7 @@ def _builder(self) -> DataFlowBaseBuilder:
             return MagicMock()
 
     # Act
-    DatasetRegistry.register_dataset("testdata", TestDataset)
-    test = DatasetRegistry.get_dataset("testdata")
+    test = get_dataset("testdata")
 
     # Assert
     assert isinstance(test, TestDataset)
diff --git a/tests/eval/test_eval.py b/tests/eval/test_eval.py
index 20b49264..5b309460 100644
--- a/tests/eval/test_eval.py
+++ b/tests/eval/test_eval.py
@@ -21,7 +21,7 @@
 from typing import List
 from unittest.mock import MagicMock
 
-from pytest import fixture
+from pytest import fixture, mark
 
 from deepdoctection.dataflow import DataFromList  # type: ignore
 from deepdoctection.datapoint import Image
@@ -62,6 +62,7 @@ def setup_method(
 
         self.evaluator = Evaluator(self._dataset, self._pipe_component, self._metric)
 
+    @mark.requires_tf
     def test_evaluator_runs_and_returns_distance(self, setup_method) -> None:  #  type: ignore  # pylint: disable=W0613
         """
         Testing evaluator runs and returns metric distance
diff --git a/tests/eval/test_registry.py b/tests/eval/test_registry.py
index e0f4bb0e..b6986b05 100644
--- a/tests/eval/test_registry.py
+++ b/tests/eval/test_registry.py
@@ -24,7 +24,7 @@
 
 from deepdoctection.dataflow import DataFlow
 from deepdoctection.datasets.info import DatasetCategories
-from deepdoctection.eval import MetricRegistry
+from deepdoctection.eval import metric_registry
 from deepdoctection.eval.base import MetricBase
 from deepdoctection.utils.detection_types import JsonDict
 
@@ -33,7 +33,7 @@ def test_metric_registry_has_all_build_in_metric_registered() -> None:
     """
     test metric registry has all metrics registered
     """
-    assert len(MetricRegistry.get_metric_names()) == 3
+    assert len(metric_registry.get_all()) == 3
 
 
 def test_metric_registry_registered_new_metric() -> None:
@@ -41,6 +41,7 @@ def test_metric_registry_registered_new_metric() -> None:
     test, that the new generated metric "TestMetric" can be registered and retrieved from registry
     """
 
+    @metric_registry.register("testmetric")
     class TestMetric(MetricBase):
         """
         TestMetric
@@ -68,8 +69,7 @@ def dump(
             return MagicMock()
 
     # Act
-    MetricRegistry.register_metric("testmetric", TestMetric)
-    test = MetricRegistry.get_metric("testmetric")
+    test = metric_registry.get("testmetric")
 
     # Assert
     assert test == TestMetric
diff --git a/tests/extern/test_fastlang.py b/tests/extern/test_fastlang.py
index d490c6ef..e1e8d6d0 100644
--- a/tests/extern/test_fastlang.py
+++ b/tests/extern/test_fastlang.py
@@ -26,6 +26,7 @@
 from numpy import float32
 
 from deepdoctection.extern.fastlang import FasttextLangDetector
+from deepdoctection.extern.model import ModelCatalog
 
 
 def get_mock_lang_detect_result(text_string: str) -> Tuple[Tuple[str], npt.NDArray[float32]]:  # pylint: disable = W0613
@@ -47,7 +48,10 @@ def test_fasttext_lang_detector_predicts_language() -> None:
 
         # Arrange
         path_weights = "/path/to/dir"
-        fasttest_predictor = FasttextLangDetector(path_weights)
+        profile = ModelCatalog.get_profile("fasttext/lid.176.bin")
+
+        assert profile.categories
+        fasttest_predictor = FasttextLangDetector(path_weights, profile.categories)
         fasttest_predictor.model.predict = MagicMock(side_effect=get_mock_lang_detect_result)
 
         # Act
diff --git a/tests/pipe/test_language.py b/tests/pipe/test_language.py
index e8ae6aee..35651310 100644
--- a/tests/pipe/test_language.py
+++ b/tests/pipe/test_language.py
@@ -67,7 +67,7 @@ def test_pass_datapoint(
 
         # Assert
         assert dp.summary is not None
-        assert dp.summary.get_sub_category(names.NLP.LANG).category_name == "LANGUAGE"
-        container_ann = dp.summary.get_sub_category(names.NLP.LANG)
+        assert dp.summary.get_sub_category(names.NLP.LANG.LANG).category_name == "LANGUAGE"
+        container_ann = dp.summary.get_sub_category(names.NLP.LANG.LANG)
         assert isinstance(container_ann, ContainerAnnotation)
         assert container_ann.value == "eng"
diff --git a/tests/pipe/test_registry.py b/tests/pipe/test_registry.py
index 7b9f14ec..97c2e58c 100644
--- a/tests/pipe/test_registry.py
+++ b/tests/pipe/test_registry.py
@@ -21,14 +21,14 @@
 
 from deepdoctection.datapoint.image import Image
 from deepdoctection.pipe.base import PipelineComponent
-from deepdoctection.pipe.registry import PipelineComponentRegistry
+from deepdoctection.pipe.registry import pipeline_component_registry
 
 
 def test_pipe_registry_has_all_build_in_pipe_component_registered() -> None:
     """
     test pipe registry has all pipeline components registered
     """
-    assert len(PipelineComponentRegistry.get_pipeline_component_names()) == 9
+    assert len(pipeline_component_registry.get_all()) == 11
 
 
 def test_pipe_registry_registered_new_pipeline_component() -> None:
@@ -36,6 +36,7 @@ def test_pipe_registry_registered_new_pipeline_component() -> None:
     test, that the new generated pipe component "TestPipeComponent" can be registered and retrieved from registry
     """
 
+    @pipeline_component_registry.register("TestPipelineComponent")
     class TestPipelineComponent(PipelineComponent):
         """
         TestPipelineComponent
@@ -47,8 +48,7 @@ def serve(self, dp: Image) -> None:
             """
 
     # Act
-    PipelineComponentRegistry.register_pipeline_component("testpipe", TestPipelineComponent)
-    test = PipelineComponentRegistry.get_pipeline_component("testpipe")
+    test = pipeline_component_registry.get("TestPipelineComponent")
 
     # Assert
     assert test == TestPipelineComponent
diff --git a/tests/train/conftest.py b/tests/train/conftest.py
index 5d736d88..c26ced00 100644
--- a/tests/train/conftest.py
+++ b/tests/train/conftest.py
@@ -77,7 +77,8 @@ class TestDataset(DatasetBase):
     Class for a dataset fixture
     """
 
-    def _info(self) -> DatasetInfo:
+    @classmethod
+    def _info(cls) -> DatasetInfo:
         """
         _info
         """