From ec0db468567b15296e0ee858959b83cfd38d5086 Mon Sep 17 00:00:00 2001
From: Volker Schukai <volker.schukai@schukai.com>
Date: Sat, 6 Aug 2022 20:23:11 +0200
Subject: [PATCH] chore: commit save point

---
 application/source/constants.js               |  12 +-
 application/source/constraints/abstract.js    |   3 +-
 .../source/constraints/abstractoperator.js    |   4 +-
 application/source/constraints/andoperator.js |   5 +-
 application/source/constraints/invalid.js     |   4 +-
 application/source/constraints/isarray.js     |   4 +-
 application/source/constraints/isobject.js    |   4 +-
 application/source/constraints/namespace.js   |  10 ++
 application/source/constraints/oroperator.js  |   4 +-
 application/source/constraints/valid.js       |   4 +-
 application/source/data/buildmap.js           |  10 +-
 application/source/data/buildtree.js          |   3 +-
 application/source/data/datasource.js         |   3 +-
 .../source/data/datasource/namespace.js       |  10 ++
 application/source/data/datasource/restapi.js |   4 +-
 .../data/datasource/restapi/namespace.js      |  10 ++
 .../data/datasource/restapi/writeerror.js     |   4 +-
 application/source/data/datasource/storage.js |   6 +-
 .../data/datasource/storage/localstorage.js   |   4 +-
 .../data/datasource/storage/namespace.js      |  10 ++
 .../data/datasource/storage/sessionstorage.js |   4 +-
 application/source/data/diff.js               |   4 +-
 application/source/data/extend.js             |   4 +-
 application/source/data/namespace.js          |  10 ++
 application/source/data/pathfinder.js         |   8 +-
 application/source/data/pipe.js               |   5 +-
 application/source/data/transformer.js        |   4 +-
 application/source/dom/assembler.js           |   5 +-
 application/source/dom/attributes.js          |  46 +++--
 application/source/dom/constants.js           | 159 ++++++++++++------
 application/source/dom/customcontrol.js       |   3 +-
 application/source/dom/customelement.js       |   9 +-
 application/source/dom/events.js              |  12 +-
 application/source/dom/focusmanager.js        |   6 +-
 application/source/dom/locale.js              |   8 +-
 application/source/dom/namespace.js           |  10 ++
 application/source/dom/ready.js               |  14 +-
 application/source/dom/resource.js            |  11 +-
 application/source/dom/resource/data.js       |   4 +-
 application/source/dom/resource/link.js       |   3 +-
 .../source/dom/resource/link/namespace.js     |  10 ++
 .../source/dom/resource/link/stylesheet.js    |   3 +-
 application/source/dom/resource/namespace.js  |  10 ++
 application/source/dom/resource/script.js     |   3 +-
 application/source/dom/resourcemanager.js     |   3 +-
 application/source/dom/template.js            |   6 +-
 application/source/dom/theme.js               |   7 +-
 application/source/dom/updater.js             |   5 +-
 application/source/dom/util.js                |   8 +-
 application/source/dom/worker/factory.js      |   4 +-
 application/source/dom/worker/namespace.js    |  10 ++
 application/source/i18n/formatter.js          |   4 +-
 application/source/i18n/locale.js             |   8 +-
 application/source/i18n/namespace.js          |  10 ++
 application/source/i18n/provider.js           |   6 +-
 application/source/i18n/providers/fetch.js    |   4 +-
 .../source/i18n/providers/namespace.js        |  10 ++
 application/source/i18n/translations.js       |   3 +-
 application/source/logging/handler.js         |   5 +-
 application/source/logging/handler/console.js |   4 +-
 .../source/logging/handler/namespace.js       |   8 +
 application/source/logging/logentry.js        |   3 +-
 application/source/logging/logger.js          |  19 ++-
 application/source/logging/namespace.js       |  10 ++
 application/source/math/namespace.js          |  10 ++
 application/source/math/random.js             |   3 +-
 application/source/monster.js                 |  10 +-
 application/source/text/formatter.js          |   3 +-
 application/source/text/namespace.js          |  10 ++
 application/source/types/base.js              |   4 +-
 application/source/types/basewithoptions.js   |  18 +-
 application/source/types/binary.js            |  11 +-
 application/source/types/dataurl.js           |  10 +-
 application/source/types/id.js                |   4 +-
 application/source/types/is.js                |  49 +++---
 application/source/types/mediatype.js         |   8 +-
 application/source/types/namespace.js         |  11 ++
 application/source/types/node.js              |   8 +-
 application/source/types/nodelist.js          |  16 +-
 .../source/types/noderecursiveiterator.js     |   4 +-
 application/source/types/observer.js          |   5 +-
 application/source/types/observerlist.js      |   5 +-
 application/source/types/proxyobserver.js     |   4 +-
 application/source/types/queue.js             |   6 +-
 application/source/types/randomid.js          |   7 +-
 application/source/types/regex.js             |   7 +-
 application/source/types/stack.js             |   7 +-
 application/source/types/tokenlist.js         |   5 +-
 application/source/types/typeof.js            |   3 +-
 application/source/types/uniquequeue.js       |   5 +-
 application/source/types/uuid.js              |   4 +-
 application/source/types/validate.js          |  34 ++--
 application/source/types/version.js           |   9 +-
 application/source/util/clone.js              |   4 +-
 application/source/util/comparator.js         |   4 +-
 application/source/util/deadmansswitch.js     |   5 +-
 application/source/util/freeze.js             |   5 +-
 application/source/util/namespace.js          |  10 ++
 application/source/util/processing.js         |   5 +-
 application/source/util/trimspaces.js         |   4 +-
 deployment/jsdoc.json                         |  22 +--
 101 files changed, 658 insertions(+), 291 deletions(-)
 create mode 100644 application/source/constraints/namespace.js
 create mode 100644 application/source/data/datasource/namespace.js
 create mode 100644 application/source/data/datasource/restapi/namespace.js
 create mode 100644 application/source/data/datasource/storage/namespace.js
 create mode 100644 application/source/data/namespace.js
 create mode 100644 application/source/dom/namespace.js
 create mode 100644 application/source/dom/resource/link/namespace.js
 create mode 100644 application/source/dom/resource/namespace.js
 create mode 100644 application/source/dom/worker/namespace.js
 create mode 100644 application/source/i18n/namespace.js
 create mode 100644 application/source/i18n/providers/namespace.js
 create mode 100644 application/source/logging/handler/namespace.js
 create mode 100644 application/source/logging/namespace.js
 create mode 100644 application/source/math/namespace.js
 create mode 100644 application/source/text/namespace.js
 create mode 100644 application/source/types/namespace.js
 create mode 100644 application/source/util/namespace.js

diff --git a/application/source/constants.js b/application/source/constants.js
index 864ca6060..127e50cb9 100644
--- a/application/source/constants.js
+++ b/application/source/constants.js
@@ -5,6 +5,12 @@
  * @author schukai GmbH
  */
 
+export {
+    internalSymbol,
+    internalStateSymbol
+}
+
+
 /**
  * @private
  * @type {symbol}
@@ -21,9 +27,3 @@ const internalSymbol = Symbol('internalData');
  */
 const internalStateSymbol = Symbol('state');
 
-
-export {
-    internalSymbol,
-    internalStateSymbol
-}
-
diff --git a/application/source/constraints/abstract.js b/application/source/constraints/abstract.js
index 979829d65..2380cac9a 100644
--- a/application/source/constraints/abstract.js
+++ b/application/source/constraints/abstract.js
@@ -7,6 +7,7 @@
 
 import {Base} from '../types/base.js';
 
+export {AbstractConstraint}
 
 /**
  * Constraints are used to define conditions that must be met by the value of a variable.
@@ -22,7 +23,7 @@ import {Base} from '../types/base.js';
  * @memberOf Monster.Constraints
  * @summary The abstract constraint
  */
-export class AbstractConstraint extends Base {
+class AbstractConstraint extends Base {
 
     /**
      *
diff --git a/application/source/constraints/abstractoperator.js b/application/source/constraints/abstractoperator.js
index a6eb676bf..48ff1860c 100644
--- a/application/source/constraints/abstractoperator.js
+++ b/application/source/constraints/abstractoperator.js
@@ -6,6 +6,8 @@
 
 import {AbstractConstraint} from "./abstract.js";
 
+export {AbstractOperator}
+
 /**
  * Constraints are used to define conditions that must be met by the value of a variable.
  *
@@ -18,7 +20,7 @@ import {AbstractConstraint} from "./abstract.js";
  * @memberOf Monster.Constraints
  * @summary The abstract operator constraint
  */
-export class AbstractOperator extends AbstractConstraint {
+class AbstractOperator extends AbstractConstraint {
 
     /**
      *
diff --git a/application/source/constraints/andoperator.js b/application/source/constraints/andoperator.js
index 2d54d9109..e60958ebd 100644
--- a/application/source/constraints/andoperator.js
+++ b/application/source/constraints/andoperator.js
@@ -4,9 +4,10 @@
  * @author schukai GmbH
  */
 
-
 import {AbstractOperator} from "./abstractoperator.js";
 
+export {AndOperator}
+
 /**
  * Constraints are used to define conditions that must be met by the value of a variable.
  *
@@ -44,7 +45,7 @@ import {AbstractOperator} from "./abstractoperator.js";
  * @memberOf Monster.Constraints
  * @summary A and operator constraint
  */
-export class AndOperator extends AbstractOperator {
+class AndOperator extends AbstractOperator {
 
     /**
      * this method return a promise containing the result of the check.
diff --git a/application/source/constraints/invalid.js b/application/source/constraints/invalid.js
index dde2876db..45ad4405f 100644
--- a/application/source/constraints/invalid.js
+++ b/application/source/constraints/invalid.js
@@ -6,6 +6,8 @@
 
 import {AbstractConstraint} from "./abstract.js";
 
+export {Invalid}
+
 /**
  * Constraints are used to define conditions that must be met by the value of a variable.
  *
@@ -34,7 +36,7 @@ import {AbstractConstraint} from "./abstract.js";
  * @memberOf Monster.Constraints
  * @summary A constraint that always invalid
  */
-export class Invalid extends AbstractConstraint {
+class Invalid extends AbstractConstraint {
 
     /**
      * this method return a rejected promise
diff --git a/application/source/constraints/isarray.js b/application/source/constraints/isarray.js
index 3a091993c..4755e1e1d 100644
--- a/application/source/constraints/isarray.js
+++ b/application/source/constraints/isarray.js
@@ -7,6 +7,8 @@
 import {isArray} from "../types/is.js";
 import {AbstractConstraint} from "./abstract.js";
 
+export {IsArray}
+
 /**
  * Constraints are used to define conditions that must be met by the value of a variable.
  * 
@@ -38,7 +40,7 @@ import {AbstractConstraint} from "./abstract.js";
  * @memberOf Monster.Constraints
  * @summary A constraint to check if a value is an array
  */
-export class IsArray extends AbstractConstraint {
+class IsArray extends AbstractConstraint {
 
     /**
      * this method return a promise containing the result of the check.
diff --git a/application/source/constraints/isobject.js b/application/source/constraints/isobject.js
index 2b0211b89..02fafc014 100644
--- a/application/source/constraints/isobject.js
+++ b/application/source/constraints/isobject.js
@@ -7,6 +7,8 @@
 import {isObject} from "../types/is.js";
 import {AbstractConstraint} from "./abstract.js";
 
+export {IsObject}
+
 /**
  * Constraints are used to define conditions that must be met by the value of a variable.
  *
@@ -39,7 +41,7 @@ import {AbstractConstraint} from "./abstract.js";
  * @memberOf Monster.Constraints
  * @summary A constraint to check if a value is an object
  */
-export class IsObject extends AbstractConstraint {
+class IsObject extends AbstractConstraint {
 
     /**
      * this method return a promise containing the result of the check.
diff --git a/application/source/constraints/namespace.js b/application/source/constraints/namespace.js
new file mode 100644
index 000000000..47329ca29
--- /dev/null
+++ b/application/source/constraints/namespace.js
@@ -0,0 +1,10 @@
+'use strict';
+
+/**
+ * Constraints are used to define conditions that must be met by the value of a variable so that the value can be transferred to the system.
+ *
+ * @namespace Monster.Constraints
+ * @memberOf Monster
+ * @author schukai GmbH
+ */
+const ns = {};
\ No newline at end of file
diff --git a/application/source/constraints/oroperator.js b/application/source/constraints/oroperator.js
index 6972c43c3..d18b1f5ea 100644
--- a/application/source/constraints/oroperator.js
+++ b/application/source/constraints/oroperator.js
@@ -6,6 +6,8 @@
 
 import {AbstractOperator} from "./abstractoperator.js";
 
+export {OrOperator}
+
 /**
  * Constraints are used to define conditions that must be met by the value of a variable.
  *
@@ -43,7 +45,7 @@ import {AbstractOperator} from "./abstractoperator.js";
  * @memberOf Monster.Constraints
  * @summary A or operator 
  */
-export class OrOperator extends AbstractOperator {
+class OrOperator extends AbstractOperator {
 
     /**
      * this method return a promise containing the result of the check.
diff --git a/application/source/constraints/valid.js b/application/source/constraints/valid.js
index 8c4a51f3c..e0fdcc99b 100644
--- a/application/source/constraints/valid.js
+++ b/application/source/constraints/valid.js
@@ -6,6 +6,8 @@
 
 import {AbstractConstraint} from "./abstract.js";
 
+export {Valid}
+
 /**
  * Constraints are used to define conditions that must be met by the value of a variable.
  *
@@ -34,7 +36,7 @@ import {AbstractConstraint} from "./abstract.js";
  * @memberOf Monster.Constraints
  * @summary A constraint that always valid
  */
-export class Valid extends AbstractConstraint {
+class Valid extends AbstractConstraint {
 
     /**
      * this method return a promise containing the result of the check.
diff --git a/application/source/data/buildmap.js b/application/source/data/buildmap.js
index d10e93be9..2cbbf89c7 100644
--- a/application/source/data/buildmap.js
+++ b/application/source/data/buildmap.js
@@ -10,12 +10,13 @@ import {validateString} from "../types/validate.js";
 import {clone} from "../util/clone.js";
 import {DELIMITER, Pathfinder, WILDCARD} from "./pathfinder.js";
 
+export {buildMap, PARENT, assembleParts}
 
 /**
- * @type {string} 
+ * @type {string}
  * @memberOf Monster.Data
  */
-export const PARENT = '^';
+const PARENT = '^';
 
 
 /**
@@ -115,7 +116,7 @@ export const PARENT = '^';
  * @throws {TypeError} value is neither a string nor a function
  * @throws {TypeError} the selector callback must return a map
  */
-export function buildMap(subject, selector, valueTemplate, keyTemplate, filter) {
+function buildMap(subject, selector, valueTemplate, keyTemplate, filter) {
     return assembleParts(subject, selector, filter, function (v, k, m) {
         k = build(v, keyTemplate, k);
         v = build(v, valueTemplate);
@@ -124,6 +125,7 @@ export function buildMap(subject, selector, valueTemplate, keyTemplate, filter)
 
 }
 
+
 /**
  * @private
  * @param {*} subject
@@ -133,7 +135,7 @@ export function buildMap(subject, selector, valueTemplate, keyTemplate, filter)
  * @return {Map}
  * @throws {TypeError} selector is neither a string nor a function
  */
-export function assembleParts(subject, selector, filter, callback) {
+function assembleParts(subject, selector, filter, callback) {
 
     const result = new Map();
 
diff --git a/application/source/data/buildtree.js b/application/source/data/buildtree.js
index db496cc26..abd656bf4 100644
--- a/application/source/data/buildtree.js
+++ b/application/source/data/buildtree.js
@@ -11,6 +11,7 @@ import {NodeList} from "../types/nodelist.js";
 import {assembleParts} from "./buildmap.js";
 import {extend} from "./extend.js";
 
+export {buildTree}
 
 /**
  * @private
@@ -53,7 +54,7 @@ const rootSymbol = Symbol('root');
  * @throws {Error} the object has no value for the specified id
  * @since 1.26.0
  */
-export function buildTree(subject, selector, idKey, parentIDKey, options) {
+function buildTree(subject, selector, idKey, parentIDKey, options) {
 
     const nodes = new Map;
 
diff --git a/application/source/data/datasource.js b/application/source/data/datasource.js
index a0cd11fb1..86a9a66fd 100644
--- a/application/source/data/datasource.js
+++ b/application/source/data/datasource.js
@@ -14,6 +14,7 @@ import {validateObject} from "../types/validate.js";
 import {extend} from "./extend.js";
 import {Pathfinder} from "./pathfinder.js";
 
+export {Datasource}
 
 /**
  * @private
@@ -49,7 +50,7 @@ const internalDataSymbol = Symbol('internalData');
  * @memberOf Monster.Data
  * @summary The datasource class encapsulates the access to data objects.
  */
-export class Datasource extends Base {
+class Datasource extends Base {
 
     /**
      *
diff --git a/application/source/data/datasource/namespace.js b/application/source/data/datasource/namespace.js
new file mode 100644
index 000000000..7e75b751d
--- /dev/null
+++ b/application/source/data/datasource/namespace.js
@@ -0,0 +1,10 @@
+'use strict';
+
+/**
+ * Namespace for datasources
+ *
+ * @namespace Monster.Data.Datasource
+ * @memberOf Monster.Data
+ * @author schukai GmbH
+ */
+const ns = {};
\ No newline at end of file
diff --git a/application/source/data/datasource/restapi.js b/application/source/data/datasource/restapi.js
index 18875e3a3..1c2da5d59 100644
--- a/application/source/data/datasource/restapi.js
+++ b/application/source/data/datasource/restapi.js
@@ -12,6 +12,8 @@ import {Pathfinder} from "../pathfinder.js";
 import {Pipe} from "../pipe.js";
 import {WriteError} from "./restapi/writeerror.js";
 
+export {RestAPI}
+
 /**
  * The RestAPI is a class that enables a REST API server.
  * 
@@ -41,7 +43,7 @@ import {WriteError} from "./restapi/writeerror.js";
  * @memberOf Monster.Data.Datasource
  * @summary The LocalStorage class encapsulates the access to data objects.
  */
-export class RestAPI extends Datasource {
+class RestAPI extends Datasource {
 
     /**
      *
diff --git a/application/source/data/datasource/restapi/namespace.js b/application/source/data/datasource/restapi/namespace.js
new file mode 100644
index 000000000..d93ea1b9c
--- /dev/null
+++ b/application/source/data/datasource/restapi/namespace.js
@@ -0,0 +1,10 @@
+'use strict';
+
+/**
+ * Namespace for storages
+ *
+ * @namespace Monster.Data.Datasource.RestAPI
+ * @memberOf Monster.Data.Datasource
+ * @author schukai GmbH
+ */
+const ns = {};
diff --git a/application/source/data/datasource/restapi/writeerror.js b/application/source/data/datasource/restapi/writeerror.js
index d18f7b0f5..4da20e033 100644
--- a/application/source/data/datasource/restapi/writeerror.js
+++ b/application/source/data/datasource/restapi/writeerror.js
@@ -7,6 +7,8 @@
 import {internalSymbol} from "../../../constants.js";
 import {assignToNamespace, Monster} from '../../../namespace.js';
 
+export {WriteError}
+
 /**
  * Error message for API requests with extension of request and validation.
  * 
@@ -15,7 +17,7 @@ import {assignToNamespace, Monster} from '../../../namespace.js';
  * @memberOf Monster.Data.Datasource.RestAPI
  * @summary the error is thrown by the rest api in case of error
  */
-export class WriteError extends Error {
+class WriteError extends Error {
     /**
      *
      * @param {string} message
diff --git a/application/source/data/datasource/storage.js b/application/source/data/datasource/storage.js
index 06d01b61a..1d24a6e63 100644
--- a/application/source/data/datasource/storage.js
+++ b/application/source/data/datasource/storage.js
@@ -9,11 +9,13 @@ import {assignToNamespace, Monster} from '../../namespace.js';
 import {validateString} from "../../types/validate.js";
 import {Datasource} from "../datasource.js";
 
+export {Storage}
+
 /**
  * @private
  * @type {symbol}
  */
-export const storageObjectSymbol = Symbol('storageObject');
+const storageObjectSymbol = Symbol('storageObject');
 
 /**
  * The class represents a record.
@@ -36,7 +38,7 @@ export const storageObjectSymbol = Symbol('storageObject');
  * @memberOf Monster.Data.Datasource
  * @summary The Storage class encapsulates the access to data objects over WebStorageAPI.
  */
-export class Storage extends Datasource {
+class Storage extends Datasource {
 
     /**
      *
diff --git a/application/source/data/datasource/storage/localstorage.js b/application/source/data/datasource/storage/localstorage.js
index 4f79ea64d..ccb4dd2e4 100644
--- a/application/source/data/datasource/storage/localstorage.js
+++ b/application/source/data/datasource/storage/localstorage.js
@@ -10,6 +10,8 @@ import {getGlobalObject} from "../../../types/global.js";
 import {Datasource} from "../../datasource.js";
 import {Storage, storageObjectSymbol} from "../storage.js";
 
+export {LocalStorage}
+
 /**
  * The LocalStorage Datasource provides a data store in the browser localStorage.
  * 
@@ -25,7 +27,7 @@ import {Storage, storageObjectSymbol} from "../storage.js";
  * @memberOf Monster.Data.Datasource.Storage
  * @summary The LocalStorage class encapsulates the access to data objects.
  */
-export class LocalStorage extends Storage {
+class LocalStorage extends Storage {
 
     /**
      * @throws {Error} this method must be implemented by derived classes.
diff --git a/application/source/data/datasource/storage/namespace.js b/application/source/data/datasource/storage/namespace.js
new file mode 100644
index 000000000..c9ad7d404
--- /dev/null
+++ b/application/source/data/datasource/storage/namespace.js
@@ -0,0 +1,10 @@
+'use strict';
+
+/**
+ * Namespace for storages
+ *
+ * @namespace Monster.Data.Datasource.Storage
+ * @memberOf Monster.Data.Datasource
+ * @author schukai GmbH
+ */
+const ns = {};
diff --git a/application/source/data/datasource/storage/sessionstorage.js b/application/source/data/datasource/storage/sessionstorage.js
index 245d8a74f..9f98dc2b4 100644
--- a/application/source/data/datasource/storage/sessionstorage.js
+++ b/application/source/data/datasource/storage/sessionstorage.js
@@ -10,6 +10,8 @@ import {getGlobalObject} from "../../../types/global.js";
 import {Datasource} from "../../datasource.js";
 import {Storage, storageObjectSymbol} from "../storage.js";
 
+export {SessionStorage}
+
 /**
  * The SessionStorage class provides a data source that uses the SessionStorage API on the client.
  * 
@@ -25,7 +27,7 @@ import {Storage, storageObjectSymbol} from "../storage.js";
  * @memberOf Monster.Data.Datasource.Storage
  * @summary The LocalStorage class encapsulates the access to data objects.
  */
-export class SessionStorage extends Storage {
+class SessionStorage extends Storage {
 
     /**
      * @throws {Error} this method must be implemented by derived classes.
diff --git a/application/source/data/diff.js b/application/source/data/diff.js
index 2871ab0ad..ad4d01b0d 100644
--- a/application/source/data/diff.js
+++ b/application/source/data/diff.js
@@ -8,6 +8,8 @@
 import {isArray, isObject} from "../types/is.js";
 import {typeOf} from "../types/typeof.js";
 
+export {diff}
+
 /**
  * With the diff function you can perform the change of one object to another. The result shows the changes of the second object to the first object.
  *
@@ -69,7 +71,7 @@ import {typeOf} from "../types/typeof.js";
  * @copyright schukai GmbH
  * @memberOf Monster.Data
  */
-export function diff(first, second) {
+function diff(first, second) {
     return doDiff(first, second)
 }
 
diff --git a/application/source/data/extend.js b/application/source/data/extend.js
index 0fc6ce7e2..51c81a2a4 100644
--- a/application/source/data/extend.js
+++ b/application/source/data/extend.js
@@ -7,6 +7,8 @@
 import {isArray, isObject} from "../types/is.js";
 import {typeOf} from "../types/typeof.js";
 
+export {extend}
+
 /**
  * Extend copies all enumerable own properties from one or
  * more source objects to a target object. It returns the modified target object.
@@ -27,7 +29,7 @@ import {typeOf} from "../types/typeof.js";
  * @throws {Error} unsupported argument
  * @throws {Error} type mismatch
  */
-export function extend() {
+function extend() {
     let o, i;
 
     for (i = 0; i < arguments.length; i++) {
diff --git a/application/source/data/namespace.js b/application/source/data/namespace.js
new file mode 100644
index 000000000..e7d47cd0a
--- /dev/null
+++ b/application/source/data/namespace.js
@@ -0,0 +1,10 @@
+'use strict';
+
+/**
+ * In this namespace you will find classes and methods for handling data.
+ *
+ * @namespace Monster.Data
+ * @memberOf Monster
+ * @author schukai GmbH
+ */
+const ns = {};
\ No newline at end of file
diff --git a/application/source/data/pathfinder.js b/application/source/data/pathfinder.js
index 4b78c5f8e..9900d2188 100644
--- a/application/source/data/pathfinder.js
+++ b/application/source/data/pathfinder.js
@@ -9,19 +9,21 @@ import {isArray, isInteger, isObject, isPrimitive} from '../types/is.js';
 import {Stack} from "../types/stack.js";
 import {validateInteger, validateString} from '../types/validate.js';
 
+export {Pathfinder}
+
 /**
  * path separator
  *
  * @private
  * @type {string}
  */
-export const DELIMITER = '.';
+const DELIMITER = '.';
 
 /**
  * @private
  * @type {string}
  */
-export const WILDCARD = '*';
+const WILDCARD = '*';
 
 /**
  * Pathfinder is a class to find a path to an object.
@@ -120,7 +122,7 @@ export const WILDCARD = '*';
  * @copyright schukai GmbH
  * @memberOf Monster.Data
  */
-export class Pathfinder extends Base {
+class Pathfinder extends Base {
 
     /**
      * @param {array|object|Map|Set} value
diff --git a/application/source/data/pipe.js b/application/source/data/pipe.js
index c1c7dbe69..ef2e58be8 100644
--- a/application/source/data/pipe.js
+++ b/application/source/data/pipe.js
@@ -9,8 +9,9 @@ import {Base} from '../types/base.js';
 import {validateString} from '../types/validate.js';
 import {Transformer} from './transformer.js';
 
+export {Pipe}
 
-export const DELIMITER = '|';
+const DELIMITER = '|';
 
 /**
  * The pipe class makes it possible to combine several processing steps.
@@ -47,7 +48,7 @@ export const DELIMITER = '|';
  * @copyright schukai GmbH
  * @memberOf Monster.Data
  */
-export class Pipe extends Base {
+class Pipe extends Base {
 
     /**
      *
diff --git a/application/source/data/transformer.js b/application/source/data/transformer.js
index ec84d48d8..f206d4892 100644
--- a/application/source/data/transformer.js
+++ b/application/source/data/transformer.js
@@ -18,6 +18,8 @@ import {
 import {clone} from "../util/clone.js";
 import {Pathfinder} from "./pathfinder.js";
 
+export {Transformer}
+
 /**
  * The transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up.
  *
@@ -123,7 +125,7 @@ import {Pathfinder} from "./pathfinder.js";
  * @copyright schukai GmbH
  * @memberOf Monster.Data
  */
-export class Transformer extends Base {
+class Transformer extends Base {
     /**
      *
      * @param {string} definition
diff --git a/application/source/dom/assembler.js b/application/source/dom/assembler.js
index 176641040..e04d9e2d0 100644
--- a/application/source/dom/assembler.js
+++ b/application/source/dom/assembler.js
@@ -9,6 +9,7 @@ import {getGlobalFunction} from "../types/global.js";
 import {ProxyObserver} from "../types/proxyobserver.js";
 import {validateInstance, validateString} from "../types/validate.js";
 
+export {ATTRIBUTEPREFIX,Assembler}
 
 /**
  * attribute prefix
@@ -16,7 +17,7 @@ import {validateInstance, validateString} from "../types/validate.js";
  * @type {string}
  * @memberOf Monster.DOM
  */
-export const ATTRIBUTEPREFIX = "data-monster-";
+const ATTRIBUTEPREFIX = "data-monster-";
 
 /**
  * you can call the method via the monster namespace `new Monster.DOM.Assembler()`.
@@ -42,7 +43,7 @@ export const ATTRIBUTEPREFIX = "data-monster-";
  * @memberOf Monster.DOM
  * @summary Allows you to build an html fragment
  */
-export class Assembler extends Base {
+class Assembler extends Base {
 
     /**
      * @param {DocumentFragment} fragment
diff --git a/application/source/dom/attributes.js b/application/source/dom/attributes.js
index 88410c3f1..18d7730fb 100644
--- a/application/source/dom/attributes.js
+++ b/application/source/dom/attributes.js
@@ -10,6 +10,22 @@ import {TokenList} from "../types/tokenlist.js";
 import {validateInstance, validateString, validateSymbol} from "../types/validate.js";
 import {ATTRIBUTE_OBJECTLINK} from "./constants.js";
 
+export {
+    findClosestObjectLink,
+    addToObjectLink,
+    removeObjectLink,
+    hasObjectLink,
+    getLinkedObjects,
+    toggleAttributeToken,
+    addAttributeToken,
+    removeAttributeToken,
+    containsAttributeToken,
+    replaceAttributeToken,
+    clearAttributeTokens,
+    findClosestByAttribute,
+    findClosestByClass
+}
+
 /**
  * Get the closest object link of a node
  *
@@ -30,13 +46,13 @@ import {ATTRIBUTE_OBJECTLINK} from "./constants.js";
  * @memberOf Monster.DOM
  * @throws {TypeError} value is not an instance of HTMLElement
  */
-export function findClosestObjectLink(element) {
+function findClosestObjectLink(element) {
     return findClosestByAttribute(element, ATTRIBUTE_OBJECTLINK);
 }
 
 /**
  * Adds a class attribute to an element.
- * 
+ *
  * ```
  * <script type="module">
  * import {addToObjectLink} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/attributes.js';
@@ -52,7 +68,7 @@ export function findClosestObjectLink(element) {
  * @param {Object} object
  * @return {boolean}
  */
-export function addToObjectLink(element, symbol, object) {
+function addToObjectLink(element, symbol, object) {
 
     validateInstance(element, HTMLElement);
     validateSymbol(symbol)
@@ -84,7 +100,7 @@ export function addToObjectLink(element, symbol, object) {
  * @param {Symbol} symbol
  * @return {boolean}
  */
-export function removeObjectLink(element, symbol) {
+function removeObjectLink(element, symbol) {
 
     validateInstance(element, HTMLElement);
     validateSymbol(symbol)
@@ -117,7 +133,7 @@ export function removeObjectLink(element, symbol) {
  * @param {Symbol} symbol
  * @return {boolean}
  */
-export function hasObjectLink(element, symbol) {
+function hasObjectLink(element, symbol) {
 
     validateInstance(element, HTMLElement);
     validateSymbol(symbol)
@@ -153,7 +169,7 @@ export function hasObjectLink(element, symbol) {
  * @return {Iterator}
  * @throws {Error} there is no object link for symbol
  */
-export function getLinkedObjects(element, symbol) {
+function getLinkedObjects(element, symbol) {
 
     validateInstance(element, HTMLElement);
     validateSymbol(symbol)
@@ -187,7 +203,7 @@ export function getLinkedObjects(element, symbol) {
  * @param {string} token
  * @return {HTMLElement}
  */
-export function toggleAttributeToken(element, key, token) {
+function toggleAttributeToken(element, key, token) {
     validateInstance(element, HTMLElement);
     validateString(token)
     validateString(key)
@@ -220,7 +236,7 @@ export function toggleAttributeToken(element, key, token) {
  * @param {string} token
  * @return {HTMLElement}
  */
-export function addAttributeToken(element, key, token) {
+function addAttributeToken(element, key, token) {
     validateInstance(element, HTMLElement);
     validateString(token)
     validateString(key)
@@ -255,7 +271,7 @@ export function addAttributeToken(element, key, token) {
  * @param {string} token
  * @return {HTMLElement}
  */
-export function removeAttributeToken(element, key, token) {
+function removeAttributeToken(element, key, token) {
     validateInstance(element, HTMLElement);
     validateString(token)
     validateString(key)
@@ -289,7 +305,7 @@ export function removeAttributeToken(element, key, token) {
  * @param {string} token
  * @return {boolean}
  */
-export function containsAttributeToken(element, key, token) {
+function containsAttributeToken(element, key, token) {
     validateInstance(element, HTMLElement);
     validateString(token)
     validateString(key)
@@ -321,7 +337,7 @@ export function containsAttributeToken(element, key, token) {
  * @param {string} to
  * @return {HTMLElement}
  */
-export function replaceAttributeToken(element, key, from, to) {
+function replaceAttributeToken(element, key, from, to) {
     validateInstance(element, HTMLElement);
     validateString(from)
     validateString(to)
@@ -353,7 +369,7 @@ export function replaceAttributeToken(element, key, from, to) {
  * @param {string} key
  * @return {HTMLElement}
  */
-export function clearAttributeTokens(element, key) {
+function clearAttributeTokens(element, key) {
     validateInstance(element, HTMLElement);
     validateString(key)
 
@@ -401,7 +417,7 @@ export function clearAttributeTokens(element, key) {
  * @return {HTMLElement|undefined}
  * @summary find closest node
  */
-export function findClosestByAttribute(element, key, value) {
+function findClosestByAttribute(element, key, value) {
     validateInstance(element, getGlobalFunction('HTMLElement'));
 
     if (element.hasAttribute(key)) {
@@ -454,7 +470,7 @@ export function findClosestByAttribute(element, key, value) {
  * @return {HTMLElement|undefined}
  * @summary find closest node
  */
-export function findClosestByClass(element, className) {
+function findClosestByClass(element, className) {
     validateInstance(element, getGlobalFunction('HTMLElement'));
 
     if (element?.classList?.contains(validateString(className))) {
@@ -465,6 +481,6 @@ export function findClosestByClass(element, className) {
     if (result instanceof HTMLElement) {
         return result;
     }
-    
+
     return undefined;
 }
diff --git a/application/source/dom/constants.js b/application/source/dom/constants.js
index 42a2c33ba..77377ca4c 100644
--- a/application/source/dom/constants.js
+++ b/application/source/dom/constants.js
@@ -5,20 +5,75 @@ import {Monster} from '../namespace.js';
  * @author schukai GmbH
  */
 
+export {
+    DEFAULT_THEME,
+    ATTRIBUTE_PREFIX,
+    ATTRIBUTE_OPTIONS,
+    ATTRIBUTE_OPTIONS_SELECTOR,
+    ATTRIBUTE_THEME_PREFIX,
+    ATTRIBUTE_THEME_NAME,
+    ATTRIBUTE_UPDATER_ATTRIBUTES,
+    ATTRIBUTE_UPDATER_SELECT_THIS,
+    ATTRIBUTE_UPDATER_REPLACE,
+    ATTRIBUTE_UPDATER_INSERT,
+    ATTRIBUTE_UPDATER_INSERT_REFERENCE,
+    ATTRIBUTE_UPDATER_REMOVE,
+    ATTRIBUTE_UPDATER_BIND,
+    ATTRIBUTE_TEMPLATE_PREFIX,
+    ATTRIBUTE_ROLE,
+    ATTRIBUTE_DISABLED,
+    ATTRIBUTE_VALUE,
+    ATTRIBUTE_OBJECTLINK,
+    ATTRIBUTE_ERRORMESSAGE,
+    TAG_SCRIPT,
+    TAG_STYLE,
+    TAG_LINK,
+    ATTRIBUTE_ID,
+    ATTRIBUTE_CLASS,
+    ATTRIBUTE_TITLE,
+    ATTRIBUTE_SRC,
+    ATTRIBUTE_HREF,
+    ATTRIBUTE_TYPE,
+    ATTRIBUTE_NONCE,
+    ATTRIBUTE_TRANSLATE,
+    ATTRIBUTE_TABINDEX,
+    ATTRIBUTE_SPELLCHECK,
+    ATTRIBUTE_SLOT,
+    ATTRIBUTE_PART,
+    ATTRIBUTE_LANG,
+    ATTRIBUTE_ITEMTYPE,
+    ATTRIBUTE_ITEMSCOPE,
+    ATTRIBUTE_ITEMREF,
+    ATTRIBUTE_ITEMID,
+    ATTRIBUTE_ITEMPROP,
+    ATTRIBUTE_IS,
+    ATTRIBUTE_INPUTMODE,
+    ATTRIBUTE_ACCESSKEY,
+    ATTRIBUTE_AUTOCAPITALIZE,
+    ATTRIBUTE_AUTOFOCUS,
+    ATTRIBUTE_CONTENTEDITABLE,
+    ATTRIBUTE_DIR,
+    ATTRIBUTE_DRAGGABLE,
+    ATTRIBUTE_ENTERKEYHINT,
+    ATTRIBUTE_EXPORTPARTS,
+    ATTRIBUTE_HIDDEN,
+    objectUpdaterLinkSymbol,
+
+}
 
 /**
  * default theme
  * @memberOf Monster.DOM
  * @type {string}
  */
-export const DEFAULT_THEME = 'monster';
+const DEFAULT_THEME = 'monster';
 
 /**
  * @memberOf Monster.DOM
  * @since 1.8.0
  * @type {string}
  */
-export const ATTRIBUTE_PREFIX = 'data-monster-';
+const ATTRIBUTE_PREFIX = 'data-monster-';
 
 /**
  * This is the name of the attribute to pass options to a control
@@ -27,7 +82,7 @@ export const ATTRIBUTE_PREFIX = 'data-monster-';
  * @since 1.8.0
  * @type {string}
  */
-export const ATTRIBUTE_OPTIONS = ATTRIBUTE_PREFIX + 'options';
+const ATTRIBUTE_OPTIONS = ATTRIBUTE_PREFIX + 'options';
 
 /**
  * This is the name of the attribute to pass options to a control
@@ -36,139 +91,139 @@ export const ATTRIBUTE_OPTIONS = ATTRIBUTE_PREFIX + 'options';
  * @since 1.30.0
  * @type {string}
  */
-export const ATTRIBUTE_OPTIONS_SELECTOR = ATTRIBUTE_PREFIX + 'options-selector';
+const ATTRIBUTE_OPTIONS_SELECTOR = ATTRIBUTE_PREFIX + 'options-selector';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.8.0
  */
-export const ATTRIBUTE_THEME_PREFIX = ATTRIBUTE_PREFIX + 'theme-';
+const ATTRIBUTE_THEME_PREFIX = ATTRIBUTE_PREFIX + 'theme-';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  */
-export const ATTRIBUTE_THEME_NAME = ATTRIBUTE_THEME_PREFIX + 'name';
+const ATTRIBUTE_THEME_NAME = ATTRIBUTE_THEME_PREFIX + 'name';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.8.0
  */
-export const ATTRIBUTE_UPDATER_ATTRIBUTES = ATTRIBUTE_PREFIX + 'attributes';
+const ATTRIBUTE_UPDATER_ATTRIBUTES = ATTRIBUTE_PREFIX + 'attributes';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.27.1
  */
-export const ATTRIBUTE_UPDATER_SELECT_THIS = ATTRIBUTE_PREFIX + 'select-this';
+const ATTRIBUTE_UPDATER_SELECT_THIS = ATTRIBUTE_PREFIX + 'select-this';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.8.0
  */
-export const ATTRIBUTE_UPDATER_REPLACE = ATTRIBUTE_PREFIX + 'replace';
+const ATTRIBUTE_UPDATER_REPLACE = ATTRIBUTE_PREFIX + 'replace';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.8.0
  */
-export const ATTRIBUTE_UPDATER_INSERT = ATTRIBUTE_PREFIX + 'insert';
+const ATTRIBUTE_UPDATER_INSERT = ATTRIBUTE_PREFIX + 'insert';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.8.0
  */
-export const ATTRIBUTE_UPDATER_INSERT_REFERENCE = ATTRIBUTE_PREFIX + 'insert-reference';
+const ATTRIBUTE_UPDATER_INSERT_REFERENCE = ATTRIBUTE_PREFIX + 'insert-reference';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.8.0
  */
-export const ATTRIBUTE_UPDATER_REMOVE = ATTRIBUTE_PREFIX + 'remove';
+const ATTRIBUTE_UPDATER_REMOVE = ATTRIBUTE_PREFIX + 'remove';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.9.0
  */
-export const ATTRIBUTE_UPDATER_BIND = ATTRIBUTE_PREFIX + 'bind';
+const ATTRIBUTE_UPDATER_BIND = ATTRIBUTE_PREFIX + 'bind';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.27.0
  */
-export const ATTRIBUTE_TEMPLATE_PREFIX = ATTRIBUTE_PREFIX + 'template-prefix';
+const ATTRIBUTE_TEMPLATE_PREFIX = ATTRIBUTE_PREFIX + 'template-prefix';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.14.0
  */
-export const ATTRIBUTE_ROLE = ATTRIBUTE_PREFIX + 'role';
+const ATTRIBUTE_ROLE = ATTRIBUTE_PREFIX + 'role';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.24.0
  */
-export const ATTRIBUTE_DISABLED = 'disabled';
+const ATTRIBUTE_DISABLED = 'disabled';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.24.0
  */
-export const ATTRIBUTE_VALUE = 'value';
+const ATTRIBUTE_VALUE = 'value';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.9.0
  */
-export const ATTRIBUTE_OBJECTLINK = ATTRIBUTE_PREFIX + 'objectlink';
+const ATTRIBUTE_OBJECTLINK = ATTRIBUTE_PREFIX + 'objectlink';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.24.0
  */
-export const ATTRIBUTE_ERRORMESSAGE = ATTRIBUTE_PREFIX + 'error';
+const ATTRIBUTE_ERRORMESSAGE = ATTRIBUTE_PREFIX + 'error';
 
 /**
  * @memberOf Monster.DOM
  * @type {symbol}
  * @since 1.24.0
  */
-export const objectUpdaterLinkSymbol = Symbol('monsterUpdater');
+const objectUpdaterLinkSymbol = Symbol('monsterUpdater');
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.25.0
  */
-export const TAG_SCRIPT = 'script';
+const TAG_SCRIPT = 'script';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.25.0
  */
-export const TAG_STYLE = 'style';
+const TAG_STYLE = 'style';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.25.0
  */
-export const TAG_LINK = 'link';
+const TAG_LINK = 'link';
 
 /**
  * @memberOf Monster.DOM
@@ -176,7 +231,7 @@ export const TAG_LINK = 'link';
  * @since 1.25.0
  */
 
-export const ATTRIBUTE_ID = 'id';
+const ATTRIBUTE_ID = 'id';
 
 /**
  * @memberOf Monster.DOM
@@ -184,48 +239,48 @@ export const ATTRIBUTE_ID = 'id';
  * @since 1.25.0
  */
 
-export const ATTRIBUTE_CLASS = 'class';
+const ATTRIBUTE_CLASS = 'class';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_TITLE = 'title';
+const ATTRIBUTE_TITLE = 'title';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_SRC = 'src';
+const ATTRIBUTE_SRC = 'src';
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_HREF = 'href';
+const ATTRIBUTE_HREF = 'href';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_TYPE = 'type';
+const ATTRIBUTE_TYPE = 'type';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_NONCE = 'nonce';
+const ATTRIBUTE_NONCE = 'nonce';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_TRANSLATE = 'translate';
+const ATTRIBUTE_TRANSLATE = 'translate';
 
 
 /**
@@ -233,7 +288,7 @@ export const ATTRIBUTE_TRANSLATE = 'translate';
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_TABINDEX = 'tabindex';
+const ATTRIBUTE_TABINDEX = 'tabindex';
 
 
 /**
@@ -241,7 +296,7 @@ export const ATTRIBUTE_TABINDEX = 'tabindex';
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_SPELLCHECK = 'spellcheck';
+const ATTRIBUTE_SPELLCHECK = 'spellcheck';
 
 
 /**
@@ -249,7 +304,7 @@ export const ATTRIBUTE_SPELLCHECK = 'spellcheck';
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_SLOT = 'slot';
+const ATTRIBUTE_SLOT = 'slot';
 
 
 /**
@@ -257,7 +312,7 @@ export const ATTRIBUTE_SLOT = 'slot';
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_PART = 'part';
+const ATTRIBUTE_PART = 'part';
 
 
 /**
@@ -265,7 +320,7 @@ export const ATTRIBUTE_PART = 'part';
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_LANG = 'lang';
+const ATTRIBUTE_LANG = 'lang';
 
 
 /**
@@ -273,7 +328,7 @@ export const ATTRIBUTE_LANG = 'lang';
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_ITEMTYPE = 'itemtype';
+const ATTRIBUTE_ITEMTYPE = 'itemtype';
 
 
 /**
@@ -281,7 +336,7 @@ export const ATTRIBUTE_ITEMTYPE = 'itemtype';
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_ITEMSCOPE = 'itemscope';
+const ATTRIBUTE_ITEMSCOPE = 'itemscope';
 
 
 /**
@@ -289,7 +344,7 @@ export const ATTRIBUTE_ITEMSCOPE = 'itemscope';
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_ITEMREF = 'itemref';
+const ATTRIBUTE_ITEMREF = 'itemref';
 
 
 /**
@@ -297,7 +352,7 @@ export const ATTRIBUTE_ITEMREF = 'itemref';
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_ITEMID = 'itemid';
+const ATTRIBUTE_ITEMID = 'itemid';
 
 
 /**
@@ -305,7 +360,7 @@ export const ATTRIBUTE_ITEMID = 'itemid';
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_ITEMPROP = 'itemprop';
+const ATTRIBUTE_ITEMPROP = 'itemprop';
 
 
 /**
@@ -313,7 +368,7 @@ export const ATTRIBUTE_ITEMPROP = 'itemprop';
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_IS = 'is';
+const ATTRIBUTE_IS = 'is';
 
 
 /**
@@ -321,7 +376,7 @@ export const ATTRIBUTE_IS = 'is';
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_INPUTMODE = 'inputmode';
+const ATTRIBUTE_INPUTMODE = 'inputmode';
 
 
 /**
@@ -329,42 +384,42 @@ export const ATTRIBUTE_INPUTMODE = 'inputmode';
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_ACCESSKEY = 'accesskey';
+const ATTRIBUTE_ACCESSKEY = 'accesskey';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_AUTOCAPITALIZE = 'autocapitalize';
+const ATTRIBUTE_AUTOCAPITALIZE = 'autocapitalize';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_AUTOFOCUS = 'autofocus';
+const ATTRIBUTE_AUTOFOCUS = 'autofocus';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_CONTENTEDITABLE = 'contenteditable';
+const ATTRIBUTE_CONTENTEDITABLE = 'contenteditable';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_DIR = 'dir';
+const ATTRIBUTE_DIR = 'dir';
 
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_DRAGGABLE = 'draggable';
+const ATTRIBUTE_DRAGGABLE = 'draggable';
 
 
 /**
@@ -372,16 +427,16 @@ export const ATTRIBUTE_DRAGGABLE = 'draggable';
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_ENTERKEYHINT = 'enterkeyhint';
+const ATTRIBUTE_ENTERKEYHINT = 'enterkeyhint';
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_EXPORTPARTS = 'exportparts';
+const ATTRIBUTE_EXPORTPARTS = 'exportparts';
 /**
  * @memberOf Monster.DOM
  * @type {string}
  * @since 1.25.0
  */
-export const ATTRIBUTE_HIDDEN = 'hidden';
+const ATTRIBUTE_HIDDEN = 'hidden';
diff --git a/application/source/dom/customcontrol.js b/application/source/dom/customcontrol.js
index b25a1e615..594b31a94 100644
--- a/application/source/dom/customcontrol.js
+++ b/application/source/dom/customcontrol.js
@@ -8,6 +8,7 @@ import {extend} from "../data/extend.js";
 import {ATTRIBUTE_VALUE} from "./constants.js";
 import {CustomElement, attributeObserverSymbol} from "./customelement.js";
 
+export {CustomControl}
 
 /**
  * @private
@@ -50,7 +51,7 @@ const attachedInternalSymbol = Symbol('attachedInternal');
  * @copyright schukai GmbH
  * @memberOf Monster.DOM
  */
-export class CustomControl extends CustomElement {
+class CustomControl extends CustomElement {
 
     /**
      * IMPORTANT: CustomControls instances are not created via the constructor, but either via a tag in the HTML or via <code>document.createElement()</code>.
diff --git a/application/source/dom/customelement.js b/application/source/dom/customelement.js
index b4c609d12..f5c60389b 100644
--- a/application/source/dom/customelement.js
+++ b/application/source/dom/customelement.js
@@ -26,25 +26,26 @@ import {
 import {findDocumentTemplate, Template} from "./template.js";
 import {Updater} from "./updater.js";
 
+export {CustomElement, initMethodSymbol, assembleMethodSymbol, attributeObserverSymbol}
 
 /**
  * @memberOf Monster.DOM
  * @type {symbol}
  */
-export const initMethodSymbol = Symbol('initMethodSymbol');
+const initMethodSymbol = Symbol('initMethodSymbol');
 
 /**
  * @memberOf Monster.DOM
  * @type {symbol}
  */
-export const assembleMethodSymbol = Symbol('assembleMethodSymbol');
+const assembleMethodSymbol = Symbol('assembleMethodSymbol');
 
 /**
  * this symbol holds the attribute observer callbacks. The key is the attribute name.
  * @memberOf Monster.DOM
  * @type {symbol}
  */
-export const attributeObserverSymbol = Symbol('attributeObserver');
+const attributeObserverSymbol = Symbol('attributeObserver');
 
 
 /**
@@ -196,7 +197,7 @@ export const attributeObserverSymbol = Symbol('attributeObserver');
  * @extends external:HTMLElement
  * @summary A base class for HTML5 customcontrols
  */
-export class CustomElement extends HTMLElement {
+class CustomElement extends HTMLElement {
 
     /**
      * A new object is created. First the `initOptions` method is called. Here the
diff --git a/application/source/dom/events.js b/application/source/dom/events.js
index 4ae37ecb2..11b23ac89 100644
--- a/application/source/dom/events.js
+++ b/application/source/dom/events.js
@@ -5,13 +5,15 @@
  * @author schukai GmbH
  */
 
-import {isArray,isObject} from "../types/is.js";
+import {isArray, isObject} from "../types/is.js";
 import {validateInstance, validateString} from "../types/validate.js";
 import {getDocument} from "./util.js";
 
+export {fireEvent, fireCustomEvent, findTargetElementFromEvent}
+
 /**
  * The function sends an event
- * 
+ *
  * ```
  * <script type="module">
  * import {fireEvent} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/events.js';
@@ -28,7 +30,7 @@ import {getDocument} from "./util.js";
  * @throws {TypeError} value is not an instance of HTMLElement or HTMLCollection
  * @summary Construct and send and event
  */
-export function fireEvent(element, type) {
+function fireEvent(element, type) {
 
     const document = getDocument();
 
@@ -75,7 +77,7 @@ export function fireEvent(element, type) {
  * @throws {TypeError} value is not an instance of HTMLElement or HTMLCollection
  * @summary Construct and send and event
  */
-export function fireCustomEvent(element, type, detail) {
+function fireCustomEvent(element, type, detail) {
 
     const document = getDocument();
 
@@ -125,7 +127,7 @@ export function fireCustomEvent(element, type, detail) {
  * @throws {TypeError} value is not an instance of HTMLElement
  * @summary Help function to find the appropriate control
  */
-export function findTargetElementFromEvent(event, attributeName, attributeValue) {
+function findTargetElementFromEvent(event, attributeName, attributeValue) {
     validateInstance(event, Event);
 
     if (typeof event.composedPath !== 'function') {
diff --git a/application/source/dom/focusmanager.js b/application/source/dom/focusmanager.js
index d34e487d4..f6cf19ac9 100644
--- a/application/source/dom/focusmanager.js
+++ b/application/source/dom/focusmanager.js
@@ -5,15 +5,15 @@
  * @author schukai GmbH
  */
 
-
 import {extend} from "../data/extend.js";
-import {assignToNamespace} from "../namespace.js";
 import {BaseWithOptions} from "../types/basewithoptions.js";
 import {getGlobalObject} from "../types/global.js";
 import {isArray} from "../types/is.js";
 import {Stack} from "../types/stack.js";
 import {validateInstance, validateString} from "../types/validate.js";
 
+export {FocusManager}
+
 /**
  * @private
  * @type {string}
@@ -50,7 +50,7 @@ const stackSymbol = Symbol('stack');
  * @throws {Error} unsupported locale
  * @summary Handle the focus
  */
-export class FocusManager extends BaseWithOptions {
+ class FocusManager extends BaseWithOptions {
 
     /**
      *
diff --git a/application/source/dom/locale.js b/application/source/dom/locale.js
index 255bf04b9..d9853f6f3 100644
--- a/application/source/dom/locale.js
+++ b/application/source/dom/locale.js
@@ -8,16 +8,18 @@ import {parseLocale} from "../i18n/locale.js";
 
 import {getDocument} from "./util.js";
 
+export {getLocaleOfDocument}
+
 /**
  * @private
  * @type {string}
  */
-export const DEFAULT_LANGUAGE = 'en';
+const DEFAULT_LANGUAGE = 'en';
 
 /**
  * With this function you can read the language version set by the document.
  * For this the attribute `lang` in the html tag is read. If no attribute is set, `en` is used as default.
- * 
+ *
  * ```html
  * <html lang="en">
  * ```
@@ -38,7 +40,7 @@ export const DEFAULT_LANGUAGE = 'en';
  * @throws {Error} unsupported locale
  * @summary Tries to determine the locale used
  */
-export function getLocaleOfDocument() {
+function getLocaleOfDocument() {
 
     const document = getDocument();
 
diff --git a/application/source/dom/namespace.js b/application/source/dom/namespace.js
new file mode 100644
index 000000000..8545b9dfb
--- /dev/null
+++ b/application/source/dom/namespace.js
@@ -0,0 +1,10 @@
+'use strict';
+
+/**
+ * In this namespace you will find classes and methods for handling the DOM.
+ *
+ * @namespace Monster.DOM
+ * @memberOf Monster
+ * @author schukai GmbH
+ */
+const ns = {};
\ No newline at end of file
diff --git a/application/source/dom/ready.js b/application/source/dom/ready.js
index 0d03d0e52..788abe4f9 100644
--- a/application/source/dom/ready.js
+++ b/application/source/dom/ready.js
@@ -9,10 +9,12 @@
 import {Monster} from '../namespace.js';
 import {getDocument, getWindow} from "./util.js";
 
+export {domReady, windowReady}
+
 /**
  * This variable is a promise that is fulfilled as soon as the dom is available.
  *
- * The DOMContentLoaded event is fired when the original HTML document is fully loaded and parsed 
+ * The DOMContentLoaded event is fired when the original HTML document is fully loaded and parsed
  * without waiting for stylesheets, images, and subframes to finish loading.
  *
  * ```
@@ -31,7 +33,7 @@ import {getDocument, getWindow} from "./util.js";
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/readyState
  */
-export const domReady = new Promise(resolve => {
+const domReady = new Promise(resolve => {
 
     const document = getDocument();
 
@@ -46,8 +48,8 @@ export const domReady = new Promise(resolve => {
 /**
  * This variable is a promise that is fulfilled as soon as the windows is available.
  *
- * The load event fires when the entire page is loaded, including all dependent resources such as stylesheets, 
- * assets, and images. Unlike DOMContentLoaded, which fires as soon as the DOM of the page is loaded, 
+ * The load event fires when the entire page is loaded, including all dependent resources such as stylesheets,
+ * assets, and images. Unlike DOMContentLoaded, which fires as soon as the DOM of the page is loaded,
  * without waiting for the resources to finish loading.
  *
  * ```
@@ -66,11 +68,11 @@ export const domReady = new Promise(resolve => {
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event
  * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/readyState
  */
-export const windowReady = new Promise(resolve => {
+const windowReady = new Promise(resolve => {
 
     const document = getDocument();
     const window = getWindow();
-    
+
     if (document.readyState === 'complete') {
         resolve();
     } else {
diff --git a/application/source/dom/resource.js b/application/source/dom/resource.js
index cc038a961..19520bf5b 100644
--- a/application/source/dom/resource.js
+++ b/application/source/dom/resource.js
@@ -15,30 +15,31 @@ import {Observer} from "../types/observer.js";
 import {ProxyObserver} from "../types/proxyobserver.js";
 import {ATTRIBUTE_CLASS, ATTRIBUTE_ID, ATTRIBUTE_TITLE} from "./constants.js";
 
+export {Resource}
 
 /**
  * @private
  * @type {string}
  */
-export const KEY_DOCUMENT = 'document';
+const KEY_DOCUMENT = 'document';
 
 /**
  * @private
  * @type {string}
  */
-export const KEY_QUERY = 'query';
+const KEY_QUERY = 'query';
 
 /**
  * @private
  * @type {string}
  */
-export const KEY_TIMEOUT = 'timeout';
+const KEY_TIMEOUT = 'timeout';
 
 /**
  * @private
  * @type {symbol}
  */
-export const referenceSymbol = Symbol('reference');
+ const referenceSymbol = Symbol('reference');
 
 /**
  * This class is the base class for all resources to be loaded.
@@ -55,7 +56,7 @@ export const referenceSymbol = Symbol('reference');
  * @memberOf Monster.DOM
  * @summary A Resource class
  */
-export class Resource extends BaseWithOptions {
+ class Resource extends BaseWithOptions {
 
     /**
      *
diff --git a/application/source/dom/resource/data.js b/application/source/dom/resource/data.js
index a2354b864..25d4393fb 100644
--- a/application/source/dom/resource/data.js
+++ b/application/source/dom/resource/data.js
@@ -19,6 +19,8 @@ import {
 } from "../constants.js";
 import {KEY_DOCUMENT, KEY_QUERY, referenceSymbol, Resource} from "../resource.js";
 
+export {Data}
+
 /**
  * This class is used by the resource manager to embed data.
  *
@@ -34,7 +36,7 @@ import {KEY_DOCUMENT, KEY_QUERY, referenceSymbol, Resource} from "../resource.js
  * @memberOf Monster.DOM.Resource
  * @summary A Data Resource class
  */
-export class Data extends Resource {
+class Data extends Resource {
 
     /**
      * @property {string} mode=cors https://developer.mozilla.org/en-US/docs/Web/API/fetch
diff --git a/application/source/dom/resource/link.js b/application/source/dom/resource/link.js
index 6abdfa0d0..465fa2842 100644
--- a/application/source/dom/resource/link.js
+++ b/application/source/dom/resource/link.js
@@ -16,6 +16,7 @@ import {
 } from "../constants.js";
 import {KEY_DOCUMENT, referenceSymbol, Resource} from "../resource.js";
 
+export {Link}
 
 /**
  * This class is used by the resource manager to embed external resources.
@@ -33,7 +34,7 @@ import {KEY_DOCUMENT, referenceSymbol, Resource} from "../resource.js";
  * @summary A Resource class
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link
  */
-export class Link extends Resource {
+class Link extends Resource {
 
     /**
      * @property {string} as {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link#attr-as}
diff --git a/application/source/dom/resource/link/namespace.js b/application/source/dom/resource/link/namespace.js
new file mode 100644
index 000000000..0ca9a65ae
--- /dev/null
+++ b/application/source/dom/resource/link/namespace.js
@@ -0,0 +1,10 @@
+'use strict';
+
+/**
+ * In this namespace you will find classes and methods for links
+ *
+ * @namespace Monster.DOM.Resource.Link
+ * @memberOf Monster
+ * @author schukai GmbH
+ */
+const ns = {};
\ No newline at end of file
diff --git a/application/source/dom/resource/link/stylesheet.js b/application/source/dom/resource/link/stylesheet.js
index e132ef44d..63704639c 100644
--- a/application/source/dom/resource/link/stylesheet.js
+++ b/application/source/dom/resource/link/stylesheet.js
@@ -8,6 +8,7 @@ import {extend} from "../../../data/extend.js";
 import {assignToNamespace, Monster} from "../../../namespace.js";
 import {Link} from "../link.js";
 
+export {Stylesheet}
 
 /**
  * This class is used by the resource manager to embed external resources.
@@ -25,7 +26,7 @@ import {Link} from "../link.js";
  * @summary A Resource class
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link
  */
-export class Stylesheet extends Link {
+class Stylesheet extends Link {
 
     /**
      * @property {string} rel {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link#attr-rel}
diff --git a/application/source/dom/resource/namespace.js b/application/source/dom/resource/namespace.js
new file mode 100644
index 000000000..b4699df5a
--- /dev/null
+++ b/application/source/dom/resource/namespace.js
@@ -0,0 +1,10 @@
+'use strict';
+
+/**
+ * In this namespace you will find classes and methods for handling resources. 
+ *
+ * @namespace  Monster.DOM.Resource
+ * @memberOf Monster
+ * @author schukai GmbH
+ */
+const ns = {};
diff --git a/application/source/dom/resource/script.js b/application/source/dom/resource/script.js
index 17512eef4..08ac95ee5 100644
--- a/application/source/dom/resource/script.js
+++ b/application/source/dom/resource/script.js
@@ -17,6 +17,7 @@ import {
 } from "../constants.js";
 import {KEY_DOCUMENT, referenceSymbol, Resource} from "../resource.js";
 
+export {Script}
 
 /**
  * This class is used by the resource manager to embed scripts.
@@ -33,7 +34,7 @@ import {KEY_DOCUMENT, referenceSymbol, Resource} from "../resource.js";
  * @memberOf Monster.DOM.Resource
  * @summary A Resource class
  */
-export class Script extends Resource {
+class Script extends Resource {
 
     /**
      * @property {boolean} async=true {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-async}
diff --git a/application/source/dom/resourcemanager.js b/application/source/dom/resourcemanager.js
index d754a42d9..91df19a9d 100644
--- a/application/source/dom/resourcemanager.js
+++ b/application/source/dom/resourcemanager.js
@@ -15,6 +15,7 @@ import {Data} from "./resource/data.js";
 import {Stylesheet} from "./resource/link/stylesheet.js";
 import {Script} from "./resource/script.js";
 
+export {ResourceManager}
 
 /**
  * The ResourceManager is a singleton that manages all resources.
@@ -31,7 +32,7 @@ import {Script} from "./resource/script.js";
  * @memberOf Monster.DOM
  * @summary A Resource class
  */
-export class ResourceManager extends BaseWithOptions {
+ class ResourceManager extends BaseWithOptions {
 
     /**
      *
diff --git a/application/source/dom/template.js b/application/source/dom/template.js
index 834b11ccb..cc4750a6e 100644
--- a/application/source/dom/template.js
+++ b/application/source/dom/template.js
@@ -10,9 +10,11 @@ import {validateInstance, validateString} from "../types/validate.js";
 import {ATTRIBUTE_TEMPLATE_PREFIX} from "./constants.js";
 import {getDocumentTheme} from "./theme.js";
 
+export {Template}
+
 /**
  * The template class provides methods for creating templates.
- * 
+ *
  * ```
  * <script type="module">
  * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/template.js';
@@ -25,7 +27,7 @@ import {getDocumentTheme} from "./theme.js";
  * @memberOf Monster.DOM
  * @summary A template class
  */
-export class Template extends Base {
+class Template extends Base {
     /**
      *
      * @param {HTMLTemplateElement} template
diff --git a/application/source/dom/theme.js b/application/source/dom/theme.js
index 33e95a671..014d3a6a6 100644
--- a/application/source/dom/theme.js
+++ b/application/source/dom/theme.js
@@ -9,10 +9,11 @@ import {getGlobalObject} from '../types/global.js';
 import {validateString} from "../types/validate.js";
 import {ATTRIBUTE_THEME_NAME, DEFAULT_THEME} from "./constants.js";
 
+export {Theme, getDocumentTheme}
 
 /**
  * The Theme class provides the functionality for the theme.
- * 
+ *
  * ```
  * <script type="module">
  * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/dom/theme.js';
@@ -33,7 +34,7 @@ import {ATTRIBUTE_THEME_NAME, DEFAULT_THEME} from "./constants.js";
  * @memberOf Monster.DOM
  * @summary A theme class
  */
-export class Theme extends Base {
+class Theme extends Base {
 
     /**
      *
@@ -72,7 +73,7 @@ export class Theme extends Base {
  * @memberOf Monster.DOM
  * @since 1.7.0
  */
-export function getDocumentTheme() {
+function getDocumentTheme() {
     let document = getGlobalObject('document');
     let name = DEFAULT_THEME;
 
diff --git a/application/source/dom/updater.js b/application/source/dom/updater.js
index cfd51de57..a08904c25 100644
--- a/application/source/dom/updater.js
+++ b/application/source/dom/updater.js
@@ -30,6 +30,7 @@ import {findTargetElementFromEvent} from "./events.js";
 import {findDocumentTemplate} from "./template.js";
 import {getDocument} from "./util.js";
 
+export {Updater}
 
 /**
  * The updater class connects an object with the dom. In this way, structures and contents in the DOM can be programmatically adapted via attributes.
@@ -84,7 +85,7 @@ import {getDocument} from "./util.js";
  * @throws {TypeError} value is not an instance of HTMLElement
  * @summary The updater class connects an object with the dom
  */
-export class Updater extends Base {
+class Updater extends Base {
 
     /**
      * @since 1.8.0
@@ -693,7 +694,7 @@ function runUpdateContent(container, parts, subject) {
                 while (element.firstChild) {
                     element.removeChild(element.firstChild);
                 }
-                
+
                 try {
                     element.appendChild(value);
                 } catch (e) {
diff --git a/application/source/dom/util.js b/application/source/dom/util.js
index 6e6fb7b35..917c231de 100644
--- a/application/source/dom/util.js
+++ b/application/source/dom/util.js
@@ -7,6 +7,8 @@
 import {getGlobal} from "../types/global.js";
 import {validateString} from "../types/validate.js";
 
+export {getDocument, getWindow, getDocumentFragmentFromString}
+
 /**
  * this method fetches the document object
  *
@@ -50,7 +52,7 @@ import {validateString} from "../types/validate.js";
  * @memberOf Monster.DOM
  * @throws {Error} not supported environment
  */
-export function getDocument() {
+function getDocument() {
     let document = getGlobal()?.['document'];
     if (typeof document !== 'object') {
         throw new Error("not supported environment")
@@ -104,7 +106,7 @@ export function getDocument() {
  * @memberOf Monster.DOM
  * @throws {Error} not supported environment
  */
-export function getWindow() {
+function getWindow() {
     let window = getGlobal()?.['window'];
     if (typeof window !== 'object') {
         throw new Error("not supported environment")
@@ -158,7 +160,7 @@ export function getWindow() {
  * @throws {Error} not supported environment
  * @throws {TypeError} value is not a string
  */
-export function getDocumentFragmentFromString(html) {
+function getDocumentFragmentFromString(html) {
     validateString(html);
 
     const document = getDocument();
diff --git a/application/source/dom/worker/factory.js b/application/source/dom/worker/factory.js
index 28226d02d..f0522b552 100644
--- a/application/source/dom/worker/factory.js
+++ b/application/source/dom/worker/factory.js
@@ -13,6 +13,8 @@ import {getGlobal, getGlobalFunction} from "../../types/global.js";
 import {isFunction} from "../../types/is.js";
 import {validateInstance, validateString} from "../../types/validate.js";
 
+export {Factory}
+
 /**
  * A factory for creating worker instances.
  * 
@@ -28,7 +30,7 @@ import {validateInstance, validateString} from "../../types/validate.js";
  * @memberOf Monster.DOM.Worker
  * @summary A small factory to create worker
  */
-export class Factory extends Base {
+class Factory extends Base {
 
 
     /**
diff --git a/application/source/dom/worker/namespace.js b/application/source/dom/worker/namespace.js
new file mode 100644
index 000000000..b5f5430ee
--- /dev/null
+++ b/application/source/dom/worker/namespace.js
@@ -0,0 +1,10 @@
+'use strict';
+
+/**
+ * In this namespace you will find classes and methods for handling the DOM.
+ *
+ * @namespace Monster.DOM.Worker
+ * @memberOf Monster
+ * @author schukai GmbH
+ */
+const ns = {};
\ No newline at end of file
diff --git a/application/source/i18n/formatter.js b/application/source/i18n/formatter.js
index ab65ed7be..946114153 100644
--- a/application/source/i18n/formatter.js
+++ b/application/source/i18n/formatter.js
@@ -12,6 +12,8 @@ import {Formatter as TextFormatter} from "../text/formatter.js";
 import {validateInstance, validateString} from "../types/validate.js";
 import {Translations} from "./translations.js";
 
+export {Formatter}
+
 /**
  * @private
  * @type {symbol}
@@ -45,7 +47,7 @@ const internalTranslationSymbol = Symbol('internalTranslation')
  * @copyright schukai GmbH
  * @memberOf Monster.I18n
  */
-export class Formatter extends TextFormatter {
+class Formatter extends TextFormatter {
 
     /**
      * Default values for the markers are `${` and `}`
diff --git a/application/source/i18n/locale.js b/application/source/i18n/locale.js
index ad36f18b0..34a1f8691 100644
--- a/application/source/i18n/locale.js
+++ b/application/source/i18n/locale.js
@@ -8,6 +8,8 @@ import {Base} from "../types/base.js";
 import {validateString} from "../types/validate.js";
 import {clone} from "../util/clone.js";
 
+export {Locale, parseLocale}
+
 /**
  * @memberOf Monster.I18n
  * @type {symbol}
@@ -22,7 +24,7 @@ const localeStringSymbol = Symbol('localeString');
 
 /**
  * The Locale class is a base class for the language classes.
- * 
+ *
  * ```
  * <script type="module">
  * import {Locale} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/i18n/locale.js';
@@ -66,7 +68,7 @@ const localeStringSymbol = Symbol('localeString');
  * @memberOf Monster.I18n
  * @see https://datatracker.ietf.org/doc/html/rfc3066
  */
-export class Locale extends Base {
+class Locale extends Base {
 
     /**
      * @param {string} language
@@ -264,7 +266,7 @@ export class Locale extends Base {
  * @throws {TypeError} value is not a string
  * @throws {Error} unsupported locale
  */
-export function parseLocale(locale) {
+function parseLocale(locale) {
 
     locale = validateString(locale).replace(/_/g, "-");
 
diff --git a/application/source/i18n/namespace.js b/application/source/i18n/namespace.js
new file mode 100644
index 000000000..4088de51a
--- /dev/null
+++ b/application/source/i18n/namespace.js
@@ -0,0 +1,10 @@
+'use strict';
+
+/**
+ * In this namespace you will find classes and methods for handling locale and localized texts.
+ *
+ * @namespace Monster.I18n
+ * @memberOf Monster
+ * @author schukai GmbH
+ */
+const ns = {};
\ No newline at end of file
diff --git a/application/source/i18n/provider.js b/application/source/i18n/provider.js
index 7316dd185..c0d14f690 100644
--- a/application/source/i18n/provider.js
+++ b/application/source/i18n/provider.js
@@ -8,9 +8,11 @@ import {BaseWithOptions} from "../types/basewithoptions.js";
 import {Locale} from "./locale.js"
 import {Translations} from "./translations.js"
 
+export {Provider}
+
 /**
  * A provider makes a translation object available.
- * 
+ *
  * ```
  * <script type="module">
  * import {Provider} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/i18n/provider.js';
@@ -23,7 +25,7 @@ import {Translations} from "./translations.js"
  * @memberOf Monster.I18n
  * @see {@link https://datatracker.ietf.org/doc/html/rfc3066}
  */
-export class Provider extends BaseWithOptions {
+class Provider extends BaseWithOptions {
 
     /**
      * @param {Locale|string} locale
diff --git a/application/source/i18n/providers/fetch.js b/application/source/i18n/providers/fetch.js
index ec4647857..3329929e0 100644
--- a/application/source/i18n/providers/fetch.js
+++ b/application/source/i18n/providers/fetch.js
@@ -15,6 +15,8 @@ import {parseLocale} from "../locale.js";
 import {Provider} from "../provider.js";
 import {Translations} from "../translations.js";
 
+export {Fetch}
+
 /**
  * The fetch provider retrieves a JSON file from the given URL and returns a translation object.
  * 
@@ -39,7 +41,7 @@ import {Translations} from "../translations.js";
  * @see {@link https://datatracker.ietf.org/doc/html/rfc3066}
  * @tutorial i18n-locale-and-formatter
  */
-export class Fetch extends Provider {
+ class Fetch extends Provider {
 
     /**
      * As options the key `fetch` can be passed. This config object is passed to the fetch method as init.
diff --git a/application/source/i18n/providers/namespace.js b/application/source/i18n/providers/namespace.js
new file mode 100644
index 000000000..b02a90f7f
--- /dev/null
+++ b/application/source/i18n/providers/namespace.js
@@ -0,0 +1,10 @@
+'use strict';
+
+/**
+ * In this namespace you will find classes and methods for handling locale and localized texts.
+ *
+ * @namespace Monster.I18n.Providers
+ * @memberOf Monster
+ * @author schukai GmbH
+ */
+const ns = {};
diff --git a/application/source/i18n/translations.js b/application/source/i18n/translations.js
index 1928d5488..e14aee33d 100644
--- a/application/source/i18n/translations.js
+++ b/application/source/i18n/translations.js
@@ -9,6 +9,7 @@ import {isObject, isString} from "../types/is.js";
 import {validateInstance, validateInteger, validateObject, validateString} from "../types/validate.js";
 import {Locale, parseLocale} from "./locale.js";
 
+export {Translations}
 
 /**
  * With this class you can manage translations and access the keys.
@@ -48,7 +49,7 @@ import {Locale, parseLocale} from "./locale.js";
  * @memberOf Monster.I18n
  * @see https://datatracker.ietf.org/doc/html/rfc3066
  */
-export class Translations extends Base {
+class Translations extends Base {
 
     /**
      *
diff --git a/application/source/logging/handler.js b/application/source/logging/handler.js
index 5eb221b71..fbd30db22 100644
--- a/application/source/logging/handler.js
+++ b/application/source/logging/handler.js
@@ -4,12 +4,13 @@
  * @author schukai GmbH
  */
 
-
 import {Base} from '../types/base.js';
 import {validateInstance, validateInteger} from "../types/validate.js";
 import {LogEntry} from "./logentry.js";
 import {ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE, WARN} from "./logger.js";
 
+export {Handler}
+
 /**
  * The log handler is the interface between the log entries and the log listeners.
  * 
@@ -24,7 +25,7 @@ import {ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE, WARN} from "./logger.js";
  * @copyright schukai GmbH
  * @memberOf Monster.Logging
  */
-export class Handler extends Base {
+ class Handler extends Base {
     constructor() {
         super();
 
diff --git a/application/source/logging/handler/console.js b/application/source/logging/handler/console.js
index 9f74a9e03..5ada86fc7 100644
--- a/application/source/logging/handler/console.js
+++ b/application/source/logging/handler/console.js
@@ -10,6 +10,8 @@ import {getGlobalObject} from "../../types/global.js";
 import {Handler} from '../handler.js';
 import {LogEntry} from "../logentry.js";
 
+export {ConsoleHandler}
+
 /**
  * You can create an object of the class simply by using the namespace `new Monster.Logging.Handler.ConsoleHandler()`.
  * 
@@ -24,7 +26,7 @@ import {LogEntry} from "../logentry.js";
  * @copyright schukai GmbH
  * @memberOf Monster.Logging.Handler
  */
-export class ConsoleHandler extends Handler {
+ class ConsoleHandler extends Handler {
     constructor() {
         super();
     }
diff --git a/application/source/logging/handler/namespace.js b/application/source/logging/handler/namespace.js
new file mode 100644
index 000000000..09107030e
--- /dev/null
+++ b/application/source/logging/handler/namespace.js
@@ -0,0 +1,8 @@
+'use strict';
+
+/**
+ * @namespace Monster.Logging.Handler
+ * @memberOf Monster.Logging
+ * @author schukai GmbH
+ */
+const ns = {};
diff --git a/application/source/logging/logentry.js b/application/source/logging/logentry.js
index f137ab2f1..00bce9aa7 100644
--- a/application/source/logging/logentry.js
+++ b/application/source/logging/logentry.js
@@ -8,6 +8,7 @@
 import {Base} from '../types/base.js';
 import {validateInteger} from '../types/validate.js';
 
+export {LogEntry}
 
 /**
  * A log entry for the logger
@@ -23,7 +24,7 @@ import {validateInteger} from '../types/validate.js';
  * @copyright schukai GmbH
  * @memberOf Monster.Logging
  */
-export class LogEntry extends Base {
+ class LogEntry extends Base {
     /**
      *
      * @param {Integer} loglevel
diff --git a/application/source/logging/logger.js b/application/source/logging/logger.js
index ca43dfd4e..068c164c7 100644
--- a/application/source/logging/logger.js
+++ b/application/source/logging/logger.js
@@ -10,55 +10,56 @@ import {LogEntry} from '../logging/logentry.js';
 import {Base} from '../types/base.js';
 import {validateInteger, validateObject, validateString} from '../types/validate.js';
 
+export {Logger, ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF};
 
 /**
  * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF
  * @type {number}
  * @memberOf Monster.Logging
  */
-export const ALL = 255;
+const ALL = 255;
 /**
  * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF
  * @type {number}
  * @memberOf Monster.Logging
  */
-export const TRACE = 64;
+const TRACE = 64;
 /**
  * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF
  * @type {number}
  * @memberOf Monster.Logging
  */
-export const DEBUG = 32;
+const DEBUG = 32;
 /**
  * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF
  * @type {number}
  * @memberOf Monster.Logging
  */
-export const INFO = 16;
+const INFO = 16;
 /**
  * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF
  * @type {number}
  * @memberOf Monster.Logging
  */
-export const WARN = 8;
+const WARN = 8;
 /**
  * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF
  * @type {number}
  * @memberOf Monster.Logging
  */
-export const ERROR = 4;
+const ERROR = 4;
 /**
  * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF
  * @type {number}
  * @memberOf Monster.Logging
  */
-export const FATAL = 2;
+const FATAL = 2;
 /**
  * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF
  * @type {number}
  * @memberOf Monster.Logging
  */
-export const OFF = 0;
+const OFF = 0;
 
 /**
  * The logger is a class that takes care of logging.
@@ -74,7 +75,7 @@ export const OFF = 0;
  * @copyright schukai GmbH
  * @memberOf Monster.Logging
  */
-export class Logger extends Base {
+class Logger extends Base {
 
     /**
      *
diff --git a/application/source/logging/namespace.js b/application/source/logging/namespace.js
new file mode 100644
index 000000000..53e4d9411
--- /dev/null
+++ b/application/source/logging/namespace.js
@@ -0,0 +1,10 @@
+'use strict';
+
+/**
+ * Namespace for logging.
+ *
+ * @namespace Monster.Logging
+ * @memberOf Monster
+ * @author schukai GmbH
+ */
+const ns = {};
\ No newline at end of file
diff --git a/application/source/math/namespace.js b/application/source/math/namespace.js
new file mode 100644
index 000000000..b8c1f1b7b
--- /dev/null
+++ b/application/source/math/namespace.js
@@ -0,0 +1,10 @@
+'use strict';
+
+/**
+ * Namespace for math.
+ *
+ * @namespace Monster.Math
+ * @memberOf Monster
+ * @author schukai GmbH
+ */
+const ns = {};
\ No newline at end of file
diff --git a/application/source/math/random.js b/application/source/math/random.js
index 3a8efed11..32ce3d998 100644
--- a/application/source/math/random.js
+++ b/application/source/math/random.js
@@ -7,6 +7,7 @@
 
 import {getGlobal} from '../types/global.js';
 
+export {random}
 
 /**
  * this function uses crypt and returns a random number.
@@ -30,7 +31,7 @@ import {getGlobal} from '../types/global.js';
  * @since 1.0.0
  * @copyright schukai GmbH
  */
-export function random(min, max) {
+ function random(min, max) {
 
     if (min === undefined) {
         min = 0;
diff --git a/application/source/monster.js b/application/source/monster.js
index 91d6960fb..6c9c8c62b 100644
--- a/application/source/monster.js
+++ b/application/source/monster.js
@@ -5,6 +5,13 @@
  * @author schukai GmbH
  */
 
+
+/**
+ * Main namespace for Monster.
+ *
+ * @namespace Monster
+ * @author schukai GmbH
+ */
 'use strict';
 
 import './constants.js';
@@ -92,6 +99,7 @@ import './data/datasource/storage/localstorage.js';
 import './data/datasource/restapi/writeerror.js';
 import './math/random.js';
 
+export {Monster}
 
 /**
  * This class has no other purpose than to exist.
@@ -100,6 +108,6 @@ import './math/random.js';
  * @copyright schukai GmbH
  * @memberOf Monster
  */
-export class Monster {
+class Monster {
 
 }
diff --git a/application/source/text/formatter.js b/application/source/text/formatter.js
index 2c004426c..ced2881b6 100644
--- a/application/source/text/formatter.js
+++ b/application/source/text/formatter.js
@@ -13,6 +13,7 @@ import {isObject, isString} from "../types/is.js";
 import {validateArray, validateString} from "../types/validate.js";
 import {getMonsterVersion} from "../types/version.js";
 
+export {Formatter}
 
 /**
  * @private
@@ -114,7 +115,7 @@ const workingDataSymbol = Symbol('workingData');
  * @copyright schukai GmbH
  * @memberOf Monster.Text
  */
-export class Formatter extends BaseWithOptions {
+ class Formatter extends BaseWithOptions {
 
     /**
      * Default values for the markers are `${` and `}`
diff --git a/application/source/text/namespace.js b/application/source/text/namespace.js
new file mode 100644
index 000000000..3988eaeb7
--- /dev/null
+++ b/application/source/text/namespace.js
@@ -0,0 +1,10 @@
+'use strict';
+
+/**
+ * Namespace for texts.
+ *
+ * @namespace Monster.Text
+ * @memberOf Monster
+ * @author schukai GmbH
+ */
+const ns = {};
diff --git a/application/source/types/base.js b/application/source/types/base.js
index 79b100564..6fc9ced06 100644
--- a/application/source/types/base.js
+++ b/application/source/types/base.js
@@ -4,7 +4,7 @@
  * @author schukai GmbH
  */
 
-
+export {Base}
 
 /**
  * This is the base class from which all monster classes are derived.
@@ -22,7 +22,7 @@
  * @copyright schukai GmbH
  * @memberOf Monster.Types
  */
-export class Base extends Object {
+ class Base extends Object {
 
     /**
      *
diff --git a/application/source/types/basewithoptions.js b/application/source/types/basewithoptions.js
index a98e92a4c..f76af555a 100644
--- a/application/source/types/basewithoptions.js
+++ b/application/source/types/basewithoptions.js
@@ -11,18 +11,20 @@ import {Pathfinder} from "../data/pathfinder.js";
 import {Base} from "./base.js";
 import {validateObject} from "./validate.js";
 
+export {BaseWithOptions}
+
 /**
  * This is the base class with options from which some monster classes are derived.
  *
  * This class is actually only used as a base class.
- * 
+ *
  * ```html
  * <script type="module">
  * import {BaseWithOptions} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/basewithoptions.js';
  * new BaseWithOptions()
  * </script>
  * ```
- * 
+ *
  * Classes that require the possibility of options can be derived directly from this class.
  * Derived classes almost always override the `defaul` getter with their own values.
  *
@@ -35,14 +37,14 @@ import {validateObject} from "./validate.js";
  *    }  
  * }
  * ```
- * 
+ *
  * The class was formerly called Object.
  *
  * @since 1.13.0
  * @copyright schukai GmbH
  * @memberOf Monster.Types
  */
-export class BaseWithOptions extends Base {
+class BaseWithOptions extends Base {
 
     /**
      *
@@ -60,17 +62,17 @@ export class BaseWithOptions extends Base {
     }
 
     /**
-     * This getter provides the options. Derived classes overwrite 
-     * this getter with their own values. It is good karma to always include 
+     * This getter provides the options. Derived classes overwrite
+     * this getter with their own values. It is good karma to always include
      * the values from the parent class.
-     * 
+     *
      * ```javascript
      * get defaults() {
      *     return Object.assign({}, super.defaults, {
      *         mykey: true
      *     });
      * }
-     * 
+     *
      * ```
      *
      * @return {object}
diff --git a/application/source/types/binary.js b/application/source/types/binary.js
index 19e0eae7f..4a4a8f4a1 100644
--- a/application/source/types/binary.js
+++ b/application/source/types/binary.js
@@ -1,12 +1,11 @@
 'use strict';
 
-import {assignToNamespace} from "../namespace.js";
-
-
 /**
  * @author schukai GmbH
  */
-import {Monster, validateString} from "./validate.js";
+import {validateString} from "./validate.js";
+
+export {toBinary, fromBinary}
 
 /**
  * You can call the function via the monster namespace `Monster.Types.toBinary()`.
@@ -24,7 +23,7 @@ import {Monster, validateString} from "./validate.js";
  * @memberOf Monster.Types
  * @since 1.18.0
  */
-export function toBinary(string) {
+function toBinary(string) {
     const codeUnits = new Uint16Array(validateString(string).length);
     for (let i = 0; i < codeUnits.length; i++) {
         codeUnits[i] = string.charCodeAt(i);
@@ -56,7 +55,7 @@ export function toBinary(string) {
  * @memberOf Monster.Types
  * @since 1.18.0
  */
-export function fromBinary(binary) {
+function fromBinary(binary) {
     const bytes = new Uint8Array(validateString(binary).length);
     for (let i = 0; i < bytes.length; i++) {
         bytes[i] = binary.charCodeAt(i);
diff --git a/application/source/types/dataurl.js b/application/source/types/dataurl.js
index 790b08761..f1483c8c6 100644
--- a/application/source/types/dataurl.js
+++ b/application/source/types/dataurl.js
@@ -1,20 +1,24 @@
 'use strict';
 
-import {assignToNamespace} from "../namespace.js";
+
 /**
  * @author schukai GmbH
  */
+
 import {Base, Monster} from "./base.js";
 import {isString} from "./is.js";
 import {MediaType, parseMediaType} from "./mediatype.js";
 import {validateBoolean, validateInstance, validateString} from "./validate.js";
 
+export {DataUrl, parseDataURL}
+
 /**
  * @private
  * @type {symbol}
  */
 const internal = Symbol('internal');
 
+
 /**
  * You can create an object via the monster namespace `new Monster.Types.DataUrl()`.
  *
@@ -31,7 +35,7 @@ const internal = Symbol('internal');
  * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs
  * @see https://datatracker.ietf.org/doc/html/rfc2397
  */
-export class DataUrl extends Base {
+class DataUrl extends Base {
 
     /**
      *
@@ -111,7 +115,7 @@ export class DataUrl extends Base {
  * @throws {TypeError} malformed data url
  * @memberOf Monster.Types
  */
-export function parseDataURL(dataurl) {
+function parseDataURL(dataurl) {
 
     validateString(dataurl);
 
diff --git a/application/source/types/id.js b/application/source/types/id.js
index 24f40ab81..a68596fbe 100644
--- a/application/source/types/id.js
+++ b/application/source/types/id.js
@@ -7,6 +7,8 @@
 import {Base} from './base.js';
 import {validateString} from "./validate.js";
 
+export {ID}
+
 /**
  * @private
  * @type {Map<string, integer>}
@@ -34,7 +36,7 @@ let internalCounter = new Map;
  * @memberOf Monster.Types
  * @summary Automatic generation of ids
  */
-export class ID extends Base {
+ class ID extends Base {
 
     /**
      * create new id with prefix
diff --git a/application/source/types/is.js b/application/source/types/is.js
index 4990aa301..5ae43250e 100644
--- a/application/source/types/is.js
+++ b/application/source/types/is.js
@@ -4,11 +4,12 @@
  * @author schukai GmbH
  */
 
+export {isIterable, isPrimitive, isSymbol, isBoolean, isString, isObject, isInstance, isArray, isFunction, isInteger}
 
 
 /**
  * With this function you can check if a value is iterable.
- * 
+ *
  * This method is used in the library to have consistent names.
  *
  * You can call the method via the monster namespace `Monster.Types.isPrimitive()`.
@@ -28,7 +29,7 @@
  * @copyright schukai GmbH
  * @memberOf Monster.Types
  */
-export function isIterable(value) {
+function isIterable(value) {
     if (value === undefined) return false;
     if (value === null) return false;
     return typeof value?.[Symbol.iterator] === 'function';
@@ -37,7 +38,7 @@ export function isIterable(value) {
 
 /**
  * Checks whether the value passed is a primitive (string, number, boolean, NaN, undefined, null or symbol)
- * 
+ *
  * This method is used in the library to have consistent names.
  *
  * ```
@@ -54,7 +55,7 @@ export function isIterable(value) {
  * @copyright schukai GmbH
  * @memberOf Monster.Types
  */
-export function isPrimitive(value) {
+function isPrimitive(value) {
     var type;
 
     if (value === undefined || value === null) {
@@ -72,7 +73,7 @@ export function isPrimitive(value) {
 
 /**
  * Checks whether the value passed is a symbol
- * 
+ *
  * This method is used in the library to have consistent names.
  *
  * ```
@@ -89,13 +90,13 @@ export function isPrimitive(value) {
  * @copyright schukai GmbH
  * @memberOf Monster.Types
  */
-export function isSymbol(value) {
+function isSymbol(value) {
     return ('symbol' === typeof value) ? true : false;
 }
 
 /**
  * Checks whether the value passed is a boolean.
- * 
+ *
  * This method is used in the library to have consistent names.
  *
  * ```
@@ -113,7 +114,7 @@ export function isSymbol(value) {
  * @copyright schukai GmbH
  * @memberOf Monster.Types
  */
-export function isBoolean(value) {
+function isBoolean(value) {
 
     if (value === true || value === false) {
         return true;
@@ -124,7 +125,7 @@ export function isBoolean(value) {
 
 /**
  * Checks whether the value passed is a string
- * 
+ *
  * This method is used in the library to have consistent names.
  *
  * ```
@@ -141,7 +142,7 @@ export function isBoolean(value) {
  * @copyright schukai GmbH
  * @memberOf Monster.Types
  */
-export function isString(value) {
+function isString(value) {
     if (value === undefined || typeof value !== 'string') {
         return false;
     }
@@ -150,7 +151,7 @@ export function isString(value) {
 
 /**
  * Checks whether the value passed is a object
- * 
+ *
  * This method is used in the library to have consistent names.
  *
  * ```
@@ -167,7 +168,7 @@ export function isString(value) {
  * @copyright schukai GmbH
  * @memberOf Monster.Types
  */
-export function isObject(value) {
+function isObject(value) {
 
     if (isArray(value)) return false;
     if (isPrimitive(value)) return false;
@@ -181,7 +182,7 @@ export function isObject(value) {
 
 /**
  * Checks whether the value passed is a object and instance of instance.
- * 
+ *
  * This method is used in the library to have consistent names.
  *
  * ```
@@ -199,19 +200,17 @@ export function isObject(value) {
  * @copyright schukai GmbH
  * @memberOf Monster.Types
  */
-export function isInstance(value, instance) {
-
+function isInstance(value, instance) {
     if (!isObject(value)) return false;
     if (!isFunction(instance)) return false;
     if (!instance.hasOwnProperty('prototype')) return false;
     return (value instanceof instance) ? true : false;
-
 }
 
 /**
  * Checks whether the value passed is a array
- * 
- * This method is used in the library to have consistent names. 
+ *
+ * This method is used in the library to have consistent names.
  *
  * ```
  * <script type="module">
@@ -228,14 +227,14 @@ export function isInstance(value, instance) {
  * @memberOf Monster.Types
  * @see https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
  */
-export function isArray(value) {
+function isArray(value) {
     return Array.isArray(value);
 }
 
 /**
  * Checks whether the value passed is a function
- * 
- * This method is used in the library to have consistent names. 
+ *
+ * This method is used in the library to have consistent names.
  *
  * ```
  * <script type="module">
@@ -252,7 +251,7 @@ export function isArray(value) {
  * @copyright schukai GmbH
  * @memberOf Monster.Types
  */
-export function isFunction(value) {
+function isFunction(value) {
     if (isArray(value)) return false;
     if (isPrimitive(value)) return false;
 
@@ -266,8 +265,8 @@ export function isFunction(value) {
 
 /**
  * Checks whether the value passed is an integer.
- * 
- * This method is used in the library to have consistent names. 
+ *
+ * This method is used in the library to have consistent names.
  *
  * ```
  * <script type="module">
@@ -284,7 +283,7 @@ export function isFunction(value) {
  * @copyright schukai GmbH
  * @memberOf Monster.Types
  */
-export function isInteger(value) {
+function isInteger(value) {
     return Number.isInteger(value);
 }
 
diff --git a/application/source/types/mediatype.js b/application/source/types/mediatype.js
index fd9bfb1a5..e6a35eb24 100644
--- a/application/source/types/mediatype.js
+++ b/application/source/types/mediatype.js
@@ -1,13 +1,15 @@
 'use strict';
 
-import {assignToNamespace} from "../namespace.js";
+
 /**
  * @author schukai GmbH
  */
+
 import {Base, Monster} from "./base.js";
 import {isString} from "./is.js";
 import {validateArray, validateString} from "./validate.js";
 
+export {MediaType, parseMediaType}
 
 /**
  * @private
@@ -37,7 +39,7 @@ const internal = Symbol('internal');
  * @copyright schukai GmbH
  * @memberOf Monster.Types
  */
-export class MediaType extends Base {
+class MediaType extends Base {
 
     /**
      *
@@ -159,7 +161,7 @@ export class MediaType extends Base {
  * @throws {TypeError} malformed data url
  * @memberOf Monster.Types
  */
-export function parseMediaType(mediatype) {
+function parseMediaType(mediatype) {
 
     const regex = /(?<type>[A-Za-z]+|\*)\/(?<subtype>([a-zA-Z0-9.\+_\-]+)|\*|)(?<parameter>\s*;\s*([a-zA-Z0-9]+)\s*(=\s*("?[A-Za-z0-9_\-]+"?))?)*/g;
     const result = regex.exec(validateString(mediatype));
diff --git a/application/source/types/namespace.js b/application/source/types/namespace.js
new file mode 100644
index 000000000..a9edabdf4
--- /dev/null
+++ b/application/source/types/namespace.js
@@ -0,0 +1,11 @@
+'use strict';
+
+/**
+ * Namespace for types.
+ *
+ * @namespace Monster.Types
+ * @memberOf Monster
+ * @author schukai GmbH
+ */
+const ns = {};
+
diff --git a/application/source/types/node.js b/application/source/types/node.js
index 0c06d69b5..f6f245bd5 100644
--- a/application/source/types/node.js
+++ b/application/source/types/node.js
@@ -4,13 +4,13 @@
  * @author schukai GmbH
  */
 
-
-
 import {Base} from './base.js';
 import {isPrimitive} from "./is.js";
 import {NodeList} from './nodelist.js';
 import {validateInstance} from './validate.js';
 
+export {Node}
+
 /**
  * @private
  * @type {symbol}
@@ -40,7 +40,7 @@ const treeStructureSymbol = Symbol('treeStructure');
  * @summary A Node Class
  * @see https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Iteration_protocols
  */
-export class Node extends Base {
+class Node extends Base {
 
     /**
      * @param {*} [value]
@@ -155,7 +155,7 @@ export class Node extends Base {
             let label = this[internalValueSymbol];
             if (!isPrimitive(label)) label = JSON.stringify(this[internalValueSymbol])
 
-            parts.push( label);
+            parts.push(label);
         }
 
         if (!this.hasChildNodes()) {
diff --git a/application/source/types/nodelist.js b/application/source/types/nodelist.js
index 24532a3c1..5e79c7caa 100644
--- a/application/source/types/nodelist.js
+++ b/application/source/types/nodelist.js
@@ -8,6 +8,8 @@ import {isArray, isInstance} from "./is.js";
 import {Node} from "./node.js";
 import {validateInstance} from "./validate.js";
 
+export {NodeList}
+
 /**
  * You can create the instance via the monster namespace `new Monster.Types.NodeList()`.
  *
@@ -23,7 +25,7 @@ import {validateInstance} from "./validate.js";
  * @memberOf Monster.Types
  * @summary A NodeList class
  */
-export class NodeList extends Set {
+class NodeList extends Set {
 
     /**
      * @throws {Error} invalid value type
@@ -34,8 +36,8 @@ export class NodeList extends Set {
 
         const self = this
 
-        if(values===undefined) return;
-        
+        if (values === undefined) return;
+
         if (isArray(values)) {
             values.forEach(value => self.add(value));
         } else if (isInstance(values, NodeList)) {
@@ -102,11 +104,11 @@ export class NodeList extends Set {
      */
     toString() {
         let parts = [];
-        
-        for(const node of this.toArray()) {
-            parts.push(node.toString()) 
+
+        for (const node of this.toArray()) {
+            parts.push(node.toString())
         }
-        
+
         return parts.join("\n");
     }
 
diff --git a/application/source/types/noderecursiveiterator.js b/application/source/types/noderecursiveiterator.js
index 411e73dac..c04c46cc5 100644
--- a/application/source/types/noderecursiveiterator.js
+++ b/application/source/types/noderecursiveiterator.js
@@ -4,7 +4,6 @@
  * @author schukai GmbH
  */
 
-
 import {internalSymbol} from "../constants.js";
 
 import {Base} from './base.js';
@@ -13,6 +12,7 @@ import {Node} from "./node.js";
 import {NodeList} from "./nodelist.js";
 import {validateInstance} from "./validate.js";
 
+export {NodeRecursiveIterator}
 
 /**
  * @private
@@ -69,7 +69,7 @@ const isNodeListSymbol = Symbol('isNodeList');
  * @memberOf Monster.Types
  * @summary An iterator to run recursively through a tree of nodes
  */
-export class NodeRecursiveIterator extends Base {
+ class NodeRecursiveIterator extends Base {
 
     /**
      * @param {Node} [data]
diff --git a/application/source/types/observer.js b/application/source/types/observer.js
index f6d5d317b..d7689f983 100644
--- a/application/source/types/observer.js
+++ b/application/source/types/observer.js
@@ -4,12 +4,13 @@
  * @author schukai GmbH
  */
 
-
 import {Base} from './base.js';
 import {isObject} from './is.js';
 import {TokenList} from './tokenlist.js';
 import {UniqueQueue} from './uniquequeue.js';
 
+export {Observer}
+
 /**
  * An observer manages a callback function
  *
@@ -56,7 +57,7 @@ import {UniqueQueue} from './uniquequeue.js';
  * @copyright schukai GmbH
  * @memberOf Monster.Types
  */
-export class Observer extends Base {
+class Observer extends Base {
 
     /**
      *
diff --git a/application/source/types/observerlist.js b/application/source/types/observerlist.js
index 79cc16602..47ad7efab 100644
--- a/application/source/types/observerlist.js
+++ b/application/source/types/observerlist.js
@@ -4,11 +4,12 @@
  * @author schukai GmbH
  */
 
-
 import {Base} from './base.js';
 import {Observer} from "./observer.js";
 import {validateInstance} from "./validate.js";
 
+export {ObserverList}
+
 /**
  * With the help of the ObserverList class, observer can be managed.
  *
@@ -24,7 +25,7 @@ import {validateInstance} from "./validate.js";
  * @copyright schukai GmbH
  * @memberOf Monster.Types
  */
-export class ObserverList extends Base {
+class ObserverList extends Base {
 
     /**
      *
diff --git a/application/source/types/proxyobserver.js b/application/source/types/proxyobserver.js
index a2fe765dc..c741c9bb9 100644
--- a/application/source/types/proxyobserver.js
+++ b/application/source/types/proxyobserver.js
@@ -11,6 +11,8 @@ import {ObserverList} from "./observerlist.js";
 import {validateObject} from "./validate.js";
 import {extend} from "../data/extend.js";
 
+export {ProxyObserver}
+
 /**
  * An observer manages a callback function
  *
@@ -57,7 +59,7 @@ import {extend} from "../data/extend.js";
  * @copyright schukai GmbH
  * @memberOf Monster.Types
  */
-export class ProxyObserver extends Base {
+ class ProxyObserver extends Base {
 
     /**
      *
diff --git a/application/source/types/queue.js b/application/source/types/queue.js
index f6505c3fd..cb7b4814a 100644
--- a/application/source/types/queue.js
+++ b/application/source/types/queue.js
@@ -6,9 +6,11 @@
 
 import {Base} from './base.js';
 
+export {Queue}
+
 /**
  * You can create the instance via the monster namespace `new Monster.Types.Queue()`.
- * 
+ *
  * ```
  * <script type="module">
  * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/queue.js';
@@ -44,7 +46,7 @@ import {Base} from './base.js';
  * @memberOf Monster.Types
  * @summary A Queue (Fifo)
  */
-export class Queue extends Base {
+class Queue extends Base {
 
     /**
      *
diff --git a/application/source/types/randomid.js b/application/source/types/randomid.js
index c592e5d14..22d6e5bbc 100644
--- a/application/source/types/randomid.js
+++ b/application/source/types/randomid.js
@@ -1,13 +1,16 @@
 'use strict';
 
-import {random} from "../math/random.js";
+
 /**
  * @author schukai GmbH
  */
 
+import {random} from "../math/random.js";
 import {getGlobal} from "./global.js";
 import {ID} from "./id.js";
 
+export {RandomID}
+
 /**
  * @private
  * @type {number}
@@ -29,7 +32,7 @@ let internalCounter = 0;
  * @memberOf Monster.Types
  * @summary class to generate random numbers
  */
-export class RandomID extends ID {
+class RandomID extends ID {
 
     /**
      * create new object
diff --git a/application/source/types/regex.js b/application/source/types/regex.js
index b9cd22042..21fad26a2 100644
--- a/application/source/types/regex.js
+++ b/application/source/types/regex.js
@@ -4,13 +4,14 @@
  * @author schukai GmbH
  */
 
-
 import {assignToNamespace, Monster} from "../namespace.js";
 import {validateString} from "./validate.js";
 
+export {escapeString}
+
 /**
  * This function prefixes all special characters that may appear in a regex with a slash.
- * 
+ *
  * ```
  * <script type="module">
  * import {escapeString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/validate.js';
@@ -25,7 +26,7 @@ import {validateString} from "./validate.js";
  * @memberOf Monster.Types
  * @throws {TypeError} value is not a string
  */
-export function escapeString(value) {
+function escapeString(value) {
     return validateString(value)
         .replace(/[|\\{}()[\]^$+*?.]/g, '\\$&')
         .replace(/-/g, '\\x2d');
diff --git a/application/source/types/stack.js b/application/source/types/stack.js
index 983196c7b..4f0df4aaf 100644
--- a/application/source/types/stack.js
+++ b/application/source/types/stack.js
@@ -4,12 +4,13 @@
  * @author schukai GmbH
  */
 
-
 import {Base} from './base.js';
 
+export {Stack}
+
 /**
  * You can call the method via the monster namespace `new Monster.Types.Queue()`.
- * 
+ *
  * ```
  * <script type="module">
  * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@latest/source/types/stack.js';
@@ -21,7 +22,7 @@ import {Base} from './base.js';
  * @copyright schukai GmbH
  * @memberOf Monster.Types
  */
-export class Stack extends Base {
+class Stack extends Base {
 
     /**
      *
diff --git a/application/source/types/tokenlist.js b/application/source/types/tokenlist.js
index b94567ea6..d1b7f069f 100644
--- a/application/source/types/tokenlist.js
+++ b/application/source/types/tokenlist.js
@@ -4,11 +4,12 @@
  * @author schukai GmbH
  */
 
-
 import {isIterable, isString} from '../types/is.js';
 import {validateFunction, validateString} from '../types/validate.js';
 import {Base} from './base.js';
 
+export {TokenList}
+
 /**
  * A tokenlist allows you to manage tokens (individual character strings such as css classes in an attribute string).
  *
@@ -32,7 +33,7 @@ import {Base} from './base.js';
  * @copyright schukai GmbH
  * @memberOf Monster.Types
  */
-export class TokenList extends Base {
+class TokenList extends Base {
 
     /**
      *
diff --git a/application/source/types/typeof.js b/application/source/types/typeof.js
index c1eb8b3a2..19bf6bcc0 100644
--- a/application/source/types/typeof.js
+++ b/application/source/types/typeof.js
@@ -4,8 +4,7 @@
  * @author schukai GmbH
  */
 
-
-
+export {typeOf}
 
 /**
  * The built-in typeof method is known to have some historical weaknesses. This function tries to provide a better and more accurate result.
diff --git a/application/source/types/uniquequeue.js b/application/source/types/uniquequeue.js
index a61b4c83a..b21cb7794 100644
--- a/application/source/types/uniquequeue.js
+++ b/application/source/types/uniquequeue.js
@@ -4,10 +4,11 @@
  * @author schukai GmbH
  */
 
-
 import {Queue} from "./queue.js";
 import {validateObject} from "./validate.js";
 
+export {UniqueQueue}
+
 /**
  * A UniqueQueue is a queue that contains items only once.
  *
@@ -23,7 +24,7 @@ import {validateObject} from "./validate.js";
  * @memberOf Monster.Types
  * @summary A queue for unique values
  */
-export class UniqueQueue extends Queue {
+ class UniqueQueue extends Queue {
 
     /**
      *
diff --git a/application/source/types/uuid.js b/application/source/types/uuid.js
index f709b5e73..bfa449ad5 100644
--- a/application/source/types/uuid.js
+++ b/application/source/types/uuid.js
@@ -11,6 +11,8 @@ import {isObject} from '../types/is.js';
 import {Base} from "./base.js";
 import {getGlobalObject} from "./global.js";
 
+export {UUID}
+
 /**
  * The UUID class makes it possible to get a unique UUID for an object.
  * 
@@ -26,7 +28,7 @@ import {getGlobalObject} from "./global.js";
  * @memberOf Monster.Types
  * @throws {Error} unsupported
  */
-export class UUID extends Base {
+ class UUID extends Base {
 
     /**
      *
diff --git a/application/source/types/validate.js b/application/source/types/validate.js
index 1bc7e6259..bd57ea6ac 100644
--- a/application/source/types/validate.js
+++ b/application/source/types/validate.js
@@ -4,7 +4,6 @@
  * @author schukai GmbH
  */
 
-
 import {
     isArray,
     isBoolean,
@@ -18,6 +17,19 @@ import {
     isSymbol
 } from './is.js';
 
+export {
+    validateIterable,
+    validatePrimitive,
+    validateBoolean,
+    validateString,
+    validateObject,
+    validateInstance,
+    validateArray,
+    validateSymbol,
+    validateFunction,
+    validateInteger
+}
+
 /**
  * This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.
  *
@@ -39,7 +51,7 @@ import {
  * @see {@link Monster.Types.isPrimitive}
  * @see {@link Monster.Types#isPrimitive}
  */
-export function validateIterable(value) {
+function validateIterable(value) {
     if (!isIterable(value)) {
         throw new TypeError('value is not iterable')
     }
@@ -67,7 +79,7 @@ export function validateIterable(value) {
  * @see {@link Monster.Types.isPrimitive}
  * @see {@link Monster.Types#isPrimitive}
  */
-export function validatePrimitive(value) {
+function validatePrimitive(value) {
     if (!isPrimitive(value)) {
         throw new TypeError('value is not a primitive')
     }
@@ -94,7 +106,7 @@ export function validatePrimitive(value) {
 
  * @throws {TypeError}  value is not primitive
  */
-export function validateBoolean(value) {
+function validateBoolean(value) {
     if (!isBoolean(value)) {
         throw new TypeError('value is not a boolean')
     }
@@ -119,7 +131,7 @@ export function validateBoolean(value) {
  * @memberOf Monster.Types
  * @throws {TypeError} value is not a string
  */
-export function validateString(value) {
+function validateString(value) {
     if (!isString(value)) {
         throw new TypeError('value is not a string')
     }
@@ -146,7 +158,7 @@ export function validateString(value) {
  * @memberOf Monster.Types
  * @throws {TypeError} value is not a object
  */
-export function validateObject(value) {
+function validateObject(value) {
     if (!isObject(value)) {
         throw new TypeError('value is not a object')
     }
@@ -172,7 +184,7 @@ export function validateObject(value) {
  * @memberOf Monster.Types
  * @throws {TypeError} value is not an instance of
  */
-export function validateInstance(value, instance) {
+function validateInstance(value, instance) {
     if (!isInstance(value, instance)) {
         let n = "";
         if (isObject(instance) || isFunction(instance)) {
@@ -206,7 +218,7 @@ export function validateInstance(value, instance) {
  * @memberOf Monster.Types
  * @throws {TypeError} value is not an array
  */
-export function validateArray(value) {
+function validateArray(value) {
     if (!isArray(value)) {
         throw new TypeError('value is not an array')
     }
@@ -231,7 +243,7 @@ export function validateArray(value) {
  * @memberOf Monster.Types
  * @throws {TypeError} value is not an symbol
  */
-export function validateSymbol(value) {
+function validateSymbol(value) {
     if (!isSymbol(value)) {
         throw new TypeError('value is not an symbol')
     }
@@ -257,7 +269,7 @@ export function validateSymbol(value) {
  * @memberOf Monster.Types
  * @throws {TypeError} value is not a function
  */
-export function validateFunction(value) {
+function validateFunction(value) {
     if (!isFunction(value)) {
         throw new TypeError('value is not a function')
     }
@@ -283,7 +295,7 @@ export function validateFunction(value) {
  * @memberOf Monster.Types
  * @throws {TypeError} value is not an integer
  */
-export function validateInteger(value) {
+function validateInteger(value) {
     if (!isInteger(value)) {
         throw new TypeError('value is not an integer')
     }
diff --git a/application/source/types/version.js b/application/source/types/version.js
index 5c635227b..e52999147 100644
--- a/application/source/types/version.js
+++ b/application/source/types/version.js
@@ -1,8 +1,13 @@
 'use strict';
 
+/**
+ * @author schukai GmbH
+ */
 
 import {Base} from './base.js';
 
+export {Version, getMonsterVersion}
+
 /**
  * The version object contains a sematic version number
  *
@@ -29,7 +34,7 @@ import {Base} from './base.js';
  * @memberOf Monster.Types
  * @summary The version object contains a sematic version number
  */
-export class Version extends Base {
+class Version extends Base {
 
     /**
      *
@@ -156,7 +161,7 @@ let monsterVersion;
  * @author schukai GmbH
  * @memberOf Monster
  */
-export function getMonsterVersion() {
+function getMonsterVersion() {
     if (monsterVersion instanceof Version) {
         return monsterVersion;
     }
diff --git a/application/source/util/clone.js b/application/source/util/clone.js
index a48f2d578..4f8e44953 100644
--- a/application/source/util/clone.js
+++ b/application/source/util/clone.js
@@ -10,6 +10,7 @@ import {isArray, isFunction, isObject, isPrimitive} from '../types/is.js';
 import {typeOf} from "../types/typeof.js";
 import {validateObject} from "../types/validate.js";
 
+export {clone}
 
 /**
  * With this function, objects can be cloned.
@@ -34,7 +35,7 @@ import {validateObject} from "../types/validate.js";
  * @copyright schukai GmbH
  * @throws {Error} unable to clone obj! its type isn't supported.
  */
-export function clone(obj) {
+function clone(obj) {
 
     // typeof null results in 'object'.  https://2ality.com/2013/10/typeof-null.html
     if (null === obj) {
@@ -144,3 +145,4 @@ function cloneObject(obj) {
 
     return copy;
 }
+
diff --git a/application/source/util/comparator.js b/application/source/util/comparator.js
index 1939bdf65..9bef5e8ac 100644
--- a/application/source/util/comparator.js
+++ b/application/source/util/comparator.js
@@ -7,6 +7,8 @@
 import {Base} from '../types/base.js';
 import {isFunction} from '../types/is.js';
 
+export {Comparator}
+
 /**
  * The comparator allows a comparison function to be abstracted.
  * 
@@ -51,7 +53,7 @@ import {isFunction} from '../types/is.js';
  * @since 1.3.0
  * @memberOf Monster.Util
  */
-export class Comparator extends Base {
+class Comparator extends Base {
 
     /**
      * create new comparator
diff --git a/application/source/util/deadmansswitch.js b/application/source/util/deadmansswitch.js
index b6bb6d8a3..454e3cc0b 100644
--- a/application/source/util/deadmansswitch.js
+++ b/application/source/util/deadmansswitch.js
@@ -4,13 +4,14 @@
  * @author schukai GmbH
  */
 
-
 import {internalSymbol} from "../constants.js";
 
 import {Base} from "../types/base.js";
 import {isInteger} from "../types/is.js";
 import {validateFunction, validateInteger} from "../types/validate.js";
 
+export {DeadMansSwitch}
+
 /**
  * The dead man's switch allows to set a timer which can be reset again and again within a defined period of time.
  *
@@ -37,7 +38,7 @@ import {validateFunction, validateInteger} from "../types/validate.js";
  * @memberOf Monster.Util
  * @summary Class to be able to execute function chains
  */
-export class DeadMansSwitch extends Base {
+ class DeadMansSwitch extends Base {
 
     /**
      * Create new dead man's switch
diff --git a/application/source/util/freeze.js b/application/source/util/freeze.js
index a0c0619ce..f7e312beb 100644
--- a/application/source/util/freeze.js
+++ b/application/source/util/freeze.js
@@ -4,9 +4,10 @@
  * @author schukai GmbH
  */
 
-
 import {validateObject} from '../types/validate.js';
 
+export {deepFreeze}
+
 /**
  * Deep freeze a object
  *
@@ -24,7 +25,7 @@ import {validateObject} from '../types/validate.js';
  * @copyright schukai GmbH
  * @throws {TypeError} value is not a object
  */
-export function deepFreeze(object) {
+ function deepFreeze(object) {
 
     validateObject(object)
 
diff --git a/application/source/util/namespace.js b/application/source/util/namespace.js
new file mode 100644
index 000000000..28c12f662
--- /dev/null
+++ b/application/source/util/namespace.js
@@ -0,0 +1,10 @@
+'use strict';
+
+/**
+ * Namespace for utilities.
+ *
+ * @namespace Monster.Util
+ * @memberOf Monster
+ * @author schukai GmbH
+ */
+const ns = {};
\ No newline at end of file
diff --git a/application/source/util/processing.js b/application/source/util/processing.js
index 5019656ba..7bb73ac10 100644
--- a/application/source/util/processing.js
+++ b/application/source/util/processing.js
@@ -4,7 +4,6 @@
  * @author schukai GmbH
  */
 
-
 import {internalSymbol} from "../constants.js";
 import {Base} from "../types/base.js";
 import {getGlobalFunction} from "../types/global.js";
@@ -12,6 +11,8 @@ import {isFunction, isInteger} from "../types/is.js";
 import {Queue} from "../types/queue.js";
 import {validateFunction, validateInteger} from "../types/validate.js";
 
+export {Processing}
+
 /**
  * @private
  */
@@ -102,7 +103,7 @@ class Callback {
  * @memberOf Monster.Util
  * @summary Class to be able to execute function chains
  */
-export class Processing extends Base {
+class Processing extends Base {
 
     /**
      * Create new Processing
diff --git a/application/source/util/trimspaces.js b/application/source/util/trimspaces.js
index 6a4ef3d3d..1b6323e41 100644
--- a/application/source/util/trimspaces.js
+++ b/application/source/util/trimspaces.js
@@ -8,6 +8,8 @@ import {ID} from "../types/id.js";
 import {isObject} from "../types/is.js";
 import {validateString} from "../types/validate.js";
 
+export {trimSpaces}
+
 /**
  * This special trim function allows to trim spaces that have been protected by a special escape character.
  *
@@ -32,7 +34,7 @@ import {validateString} from "../types/validate.js";
  * @return {string}
  * @throws {TypeError} value is not a string
  */
-export function trimSpaces(value) {
+ function trimSpaces(value) {
 
     validateString(value);
 
diff --git a/deployment/jsdoc.json b/deployment/jsdoc.json
index 190b41297..718fed03e 100644
--- a/deployment/jsdoc.json
+++ b/deployment/jsdoc.json
@@ -3,18 +3,19 @@
     "allowUnknownTags": true
   },
   "source": {
-    "include": "application/source/",
+    "include": "../application/source/",
     "includePattern": "\\.js$",
     "excludePattern": ""
   },
   "plugins": [
     "plugins/markdown",
-    "jsdoc-plantuml"
+    "jsdoc-plantuml",
+    "@pixi/jsdoc-template/plugins/es6-fix"
   ],
   "opts": {
     "template": "node_modules/clean-jsdoc-theme",
     "encoding": "utf8",
-    "destination": "deployment/build/docs/",
+    "destination": "build/docs/",
     "recurse": true,
     "verbose": true,
     "theme_opts": {
@@ -32,21 +33,12 @@
       ],
       "search": true,
       "add_style_path": [
-        {
-          "href": "https://monsterjs.org/assets/prettify.css",
-          "crossorigin": "anonymous",
-          "rel": "stylesheet"
-        }
       ],
       "add_script_path": [
         {
           "src": "https://code.jquery.com/jquery-3.5.1.js",
           "integrity": "sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=",
           "crossorigin": "anonymous"
-        },
-        {
-          "src": "https://monsterjs.org/js/doc/monster-versions.js",
-          "crossorigin": "anonymous"
         }
       ],
       "footer": "<a href='https://about.schukai.com/de/impressum/'>Imprint</a>",
@@ -87,17 +79,17 @@
     "cleverLinks": true,
     "monospaceLinks": false,
     "default": {
-      "outputSourceFiles": true
+      "outputSourceFiles": false
     }
   },
   "plantuml": {
     "puml": {
       "create": true,
-      "destination": "deployment/build/docs/puml"
+      "destination": "build/docs/puml"
     },
     "images": {
       "create": true,
-      "destination": "deployment/build/docs/images",
+      "destination": "build/docs/images",
       "defaultFormat": "svg"
     }
   }
-- 
GitLab