diff --git a/example/components/host/host.mjs b/example/components/host/host.mjs
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/example/components/notify/message.mjs b/example/components/notify/message.mjs
deleted file mode 100644
index 71bd46b6f0dc1487d573731ad277b6ec50fadf4a..0000000000000000000000000000000000000000
--- a/example/components/notify/message.mjs
+++ /dev/null
@@ -1,4 +0,0 @@
-import {Notify} from '@schukai/component-notify/source/message.js';
-
-const notify = document.createElement('monster-notify');
-document.body.appendChild(notify);
diff --git a/example/components/notify/notify.mjs b/example/components/notify/notify.mjs
deleted file mode 100644
index 84dce985160102380c8331fc5ae7320145ba3896..0000000000000000000000000000000000000000
--- a/example/components/notify/notify.mjs
+++ /dev/null
@@ -1,4 +0,0 @@
-import {Notify} from '@schukai/component-notify/source/notify.mjs';
-
-const notify = document.createElement('monster-notify');
-document.body.appendChild(notify);
\ No newline at end of file
diff --git a/example/components/state/log.mjs b/example/components/state/log.mjs
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/example/components/state/state.mjs b/example/components/state/state.mjs
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/example/constraints/andoperator.mjs b/example/constraints/andoperator.mjs
deleted file mode 100644
index 0c930c4e2f5b35c0e52bde5293534159b206c158..0000000000000000000000000000000000000000
--- a/example/constraints/andoperator.mjs
+++ /dev/null
@@ -1,17 +0,0 @@
-import {Valid} from '@schukai/monster/source/constraints/valid.mjs';
-import {Invalid} from '@schukai/monster/source/constraints/invalid.mjs';
-import {AndOperator} from '@schukai/monster/source/constraints/andoperator.mjs';
-
-new AndOperator(
-    new Valid(), new Valid()).isValid()
-    .then(() => console.log(true))
-    .catch(() => console.log(false));
-// ↦ true
-
-new AndOperator(
-    new Invalid(), new Valid()).isValid()
-    .then(() => console.log(true))
-    .catch(() => console.log(false));
-// ↦ false
-
-
diff --git a/example/constraints/invalid.mjs b/example/constraints/invalid.mjs
deleted file mode 100644
index 61a9e09e5b6d4c56292630d8fed69f6a903c79d2..0000000000000000000000000000000000000000
--- a/example/constraints/invalid.mjs
+++ /dev/null
@@ -1,6 +0,0 @@
-import {Invalid} from '@schukai/monster/source/constraints/invalid.mjs';
-
-new Invalid().isValid()
-    .then(() => console.log(true))
-    .catch(() => console.log(false));
-// ↦ false
\ No newline at end of file
diff --git a/example/constraints/isarray.mjs b/example/constraints/isarray.mjs
deleted file mode 100644
index 3a92e3c84ebb9704000ba89b953f8fff24396b3f..0000000000000000000000000000000000000000
--- a/example/constraints/isarray.mjs
+++ /dev/null
@@ -1,11 +0,0 @@
-import {IsArray} from '@schukai/monster/source/constraints/isarray.mjs';
-
-new IsArray()
-    .isValid([])
-    .then(() => console.log(true));
-// ↦ true
-
-new IsArray()
-    .isValid(99)
-    .catch(e => console.log(e));
-// ↦ 99
\ No newline at end of file
diff --git a/example/constraints/isobject.mjs b/example/constraints/isobject.mjs
deleted file mode 100644
index cbca5bf7a8b2c463ca47dd12e4c76a1f800989fc..0000000000000000000000000000000000000000
--- a/example/constraints/isobject.mjs
+++ /dev/null
@@ -1,12 +0,0 @@
-import {IsObject} from '@schukai/monster/source/constraints/isobject.mjs';
-
-new IsObject()
-    .isValid({})
-    .then(() => console.log(true));
-// ↦ true
-
-
-new IsObject()
-    .isValid(99)
-    .catch(e => console.log(e));
-// ↦ 99
\ No newline at end of file
diff --git a/example/constraints/oroperator.mjs b/example/constraints/oroperator.mjs
deleted file mode 100644
index c68e987c0cda82bf6c3a8008e8f16ad5c4877229..0000000000000000000000000000000000000000
--- a/example/constraints/oroperator.mjs
+++ /dev/null
@@ -1,15 +0,0 @@
-import {Valid} from '@schukai/monster/source/constraints/valid.mjs';
-import {Invalid} from '@schukai/monster/source/constraints/invalid.mjs';
-import {OrOperator} from '@schukai/monster/source/constraints/oroperator.mjs';
-
-new OrOperator(
-    new Valid(), new Invalid()).isValid()
-    .then(() => console.log(true))
-    .catch(() => console.log(false));
-// ↦ true
-
-new OrOperator(
-    new Invalid(), new Invalid()).isValid()
-    .then(() => console.log(true))
-    .catch(() => console.log(false));
-// ↦ false
\ No newline at end of file
diff --git a/example/constraints/valid.mjs b/example/constraints/valid.mjs
deleted file mode 100644
index df8d2dc1aa63d3ca4d6e9641e51f6d003f7afa5c..0000000000000000000000000000000000000000
--- a/example/constraints/valid.mjs
+++ /dev/null
@@ -1,6 +0,0 @@
-import {Valid} from '@schukai/monster/source/constraints/valid.mjs';
-
-new Valid().isValid()
-    .then(() => console.log(true))
-    .catch(() => console.log(false));
-// ↦ true
diff --git a/example/dom/customelement.mjs b/example/dom/customelement.mjs
deleted file mode 100644
index abcb296de19a48f3d1cb37b6aa1b55e8c2cac49b..0000000000000000000000000000000000000000
--- a/example/dom/customelement.mjs
+++ /dev/null
@@ -1,14 +0,0 @@
-import {CustomElement} from '@schukai/monster/source/dom/CustomElement';
-// In the example the user can use his own template by creating a template in the DOM with the ID `my-custom-element`.
-// You can also specify a theme (for example `mytheme`), then it will search for the ID `my-custom-element-mytheme` and
-// if not available for the ID `my-custom-element`.
-
-class MyCustomElement extends CustomElement {
-
-    static getTag() {
-        return "my-custom-element"
-    }
-
-}
-
-// ↦ <my-custom-element></my-custom-element>
\ No newline at end of file
diff --git a/example/dom/theme.mjs b/example/dom/theme.mjs
deleted file mode 100644
index a876922d2f4d9bd11e232113e0d87b4dba88e5a7..0000000000000000000000000000000000000000
--- a/example/dom/theme.mjs
+++ /dev/null
@@ -1,5 +0,0 @@
-import {getDocumentTheme} from '@schukai/monster/source/dom/theme.mjs';
-
-const theme = getDocumentTheme();
-console.log(theme.getName());
-// ↦ monster
\ No newline at end of file
diff --git a/example/dom/updater.mjs b/example/dom/updater.mjs
deleted file mode 100644
index 09a014751cbf5e185ed0cde7ebc207e838fdc978..0000000000000000000000000000000000000000
--- a/example/dom/updater.mjs
+++ /dev/null
@@ -1,23 +0,0 @@
-import {Updater} from '@schukai/monster/source/dom/updater.mjs';
-
-// First we prepare the html document.
-// This is done here via script, but can also be inserted into the document as pure html.
-// To do this, simply insert the tag <h1 data-monster-replace="path:headline"></h1>.
-const body = document.querySelector('body');
-const headline = document.createElement('h1');
-headline.setAttribute('data-monster-replace', 'path:headline')
-body.appendChild(headline);
-
-// the data structure
-let obj = {
-    headline: "Hello World",
-};
-
-// Now comes the real magic. we pass the updater the parent HTMLElement
-// and the desired data structure.
-const updater = new Updater(body, obj);
-updater.run();
-
-// Now you can change the data structure and the HTML will follow these changes.
-const subject = updater.getSubject();
-subject['headline'] = "Hello World!"
\ No newline at end of file
diff --git a/example/util/comparator.mjs b/example/util/comparator.mjs
deleted file mode 100644
index 401af78e54fa04a68614473a3c133b4e5b5788ba..0000000000000000000000000000000000000000
--- a/example/util/comparator.mjs
+++ /dev/null
@@ -1,10 +0,0 @@
-import {Comparator} from '@schukai/monster/source/util/comparator.mjs';
-
-console.log(new Comparator().lessThanOrEqual(2, 5))
-// ↦ true
-console.log(new Comparator().greaterThan(4, 2))
-// ↦ true
-console.log(new Comparator().equal(4, 4))
-// ↦ true
-console.log(new Comparator().equal(4, 5))
-// ↦ false
diff --git a/example/util/deadmansswitch.mjs b/example/util/deadmansswitch.mjs
deleted file mode 100644
index 344fc8aad99a717bab12bef2c3a1520d9c8e8fa6..0000000000000000000000000000000000000000
--- a/example/util/deadmansswitch.mjs
+++ /dev/null
@@ -1,9 +0,0 @@
-import {DeadMansSwitch} from '@schukai/monster/source/util/deadmansswitch.mjs';
-
-const deadmansswitch = new DeadMansSwitch(100, () => {
-    console.log('yeah!')
-    // ↦ "yeah!"
-})
-
-deadmansswitch.touch(); // from here wait again 100 ms
-deadmansswitch.touch(200); // from here wait 200 ms
diff --git a/example/util/processing.mjs b/example/util/processing.mjs
deleted file mode 100644
index ff05bf8d9960f54b8bbb133766fd1e27081ace2a..0000000000000000000000000000000000000000
--- a/example/util/processing.mjs
+++ /dev/null
@@ -1,17 +0,0 @@
-import {Processing} from '@schukai/monster/source/util/processing.mjs';
-
-let startTime = +new Date();
-
-new Processing((url) => {
-    return fetch(url)
-}, (response) => {
-    // do something with the response
-    console.log(response.status, +new Date() - startTime)
-}, 200, () => {
-    // this function is called 200 seconds after fetch is received.
-    console.log('finished', +new Date() - startTime)
-    return 'done'
-}).run('https://monsterjs.org/assets/world.json').then(r => {
-    console.log(r)
-    // ↦ "done"
-})
diff --git a/source/components/content/copy.mjs b/source/components/content/copy.mjs
index 71114f1d156b5395f8d46cabb3e53aa8b310e214..0bd7e63422e3a0f84805d28c0c568c42c05dff67 100644
--- a/source/components/content/copy.mjs
+++ b/source/components/content/copy.mjs
@@ -94,6 +94,9 @@ class Copy extends CustomElement {
 	/**
 	 *
 	 * @return {Components.Content.Copy
+	 * @fires monster-copy-clicked This event is fired when the copy button is clicked.
+	 * @fires monster-copy-success This event is fired when the copy action is successful.
+	 * @fires monster-copy-error This event is fired when the copy action fails. 
 	 */
 	[assembleMethodSymbol]() {
 		super[assembleMethodSymbol]();
@@ -244,6 +247,9 @@ function attachResizeObserver() {
 	this[resizeObserverSymbol].observe(this.parentElement);
 }
 
+/**
+ * @private
+ */
 function disconnectResizeObserver() {
 	if (this[resizeObserverSymbol] instanceof ResizeObserver) {
 		this[resizeObserverSymbol].disconnect();
@@ -324,9 +330,6 @@ function updatePopper() {
 /**
  * @private
  * @return {initEventHandler}
- * @fires monster-copy-clicked
- * @fires monster-copy-success
- * @fires monster-copy-error
  */
 function initEventHandler() {
 	const self = this;
diff --git a/source/components/state/log.mjs b/source/components/state/log.mjs
index cae22b4ca2038e4f2ac430700a194ddffaea2fb0..a1f25766389ee9aef59a561286c07e966e3416b8 100644
--- a/source/components/state/log.mjs
+++ b/source/components/state/log.mjs
@@ -38,47 +38,11 @@ const logElementSymbol = Symbol("logElement");
  */
 const emptyStateElementSymbol = Symbol("emptyStateElement");
 
-/**
- * Log is a control to show a log message.
- *
- * <img src="./images/log.png">
- *
- * Dependencies: the system uses functions of the [monsterjs](https://monsterjs.org/) library
- *
- * You can create this control either by specifying the HTML tag <monster-state />` directly in the HTML or using
- * Javascript via the `document.createElement('monster-state');` method.
- *
- * ```html
- * <monster-log></monster-log>
- * ```
- *
- * Or you can create this CustomControl directly in Javascript:
- *
- * ```js
- * import {Log} from '@schukai/component-state/source/log.js';
- * document.createElement('monster-log');
- * ```
- *
- * @externalExample ../../../example/components/state/log.mjs
- * @startuml log.png
- * skinparam monochrome true
- * skinparam shadowing false
- * HTMLElement <|-- CustomElement
- * CustomElement <|-- Log
- * @enduml
- *
- * @copyright schukai GmbH
- * @memberOf Monster.Components.State
- * @summary Log is a control to show a log message.
- */
-
 /**
  * A Log component
  *
  * @fragments /fragments/components/layout/collapse/
  *
- * @example /examples/components/layout/collapse-simple
- *
  * @since 3.74.0
  * @copyright schukai GmbH
  * @summary A Log component to show a log message.
diff --git a/source/constraints/andoperator.mjs b/source/constraints/andoperator.mjs
index 5c6d584b2d476730efda0ac8ad544eac96ef6b0d..5580722380eb901681b3680c49dd8a25fbf340c1 100644
--- a/source/constraints/andoperator.mjs
+++ b/source/constraints/andoperator.mjs
@@ -23,16 +23,16 @@ export { AndOperator };
  *
  * The AndOperator is used to link several constraints. The constraint is fulfilled if all constraints of the operators are fulfilled.
  *
- * @externalExample ../../example/constraints/andoperator.mjs
+ * @example /examples/libraries/constraints/andoperator/ A simple example
+ * 
  * @license AGPLv3
  * @since 1.3.0
  * @copyright schukai GmbH
- * @memberOf Monster.Constraints
  * @summary A and operator constraint
  */
 class AndOperator extends AbstractOperator {
 	/**
-	 * this method return a promise containing the result of the check.
+	 * This method returns a promise containing the result of the check.
 	 *
 	 * @param {*} value
 	 * @return {Promise}
diff --git a/source/constraints/invalid.mjs b/source/constraints/invalid.mjs
index d48adecefc990f99a23edab2109850ce507e262d..5f7b3a3481e274a65eca6bf0e4238a808bc21ee9 100644
--- a/source/constraints/invalid.mjs
+++ b/source/constraints/invalid.mjs
@@ -23,16 +23,16 @@ export { Invalid };
  *
  * The invalid constraint allows an always invalid query to be performed. this constraint is mainly intended for testing.
  *
- * @externalExample ../../example/constraints/invalid.mjs
+ * @example /examples/libraries/constraints/invalid/ A simple example
+ * 
  * @license AGPLv3
  * @since 1.3.0
  * @copyright schukai GmbH
- * @memberOf Monster.Constraints
  * @summary A constraint that always invalid
  */
 class Invalid extends AbstractConstraint {
 	/**
-	 * this method return a rejected promise
+	 * this method returns a rejected promise
 	 *
 	 * @param {*} value
 	 * @return {Promise}
diff --git a/source/constraints/isarray.mjs b/source/constraints/isarray.mjs
index 6230a55cb3e6b8728e9f9ba2ff181c7554c824e9..ba682b55f937e6984dd4f35e9f4bdae81db49162 100644
--- a/source/constraints/isarray.mjs
+++ b/source/constraints/isarray.mjs
@@ -22,16 +22,16 @@ export { IsArray };
  *
  * The uniform API of the constraints allows chains to be formed.
  *
- * @externalExample ../../example/constraints/isarray.mjs
+ * @example /examples/libraries/constraints/isarray/ A simple example
+ * 
  * @license AGPLv3
  * @since 1.3.0
  * @copyright schukai GmbH
- * @memberOf Monster.Constraints
  * @summary A constraint to check if a value is an array
  */
 class IsArray extends AbstractConstraint {
 	/**
-	 * this method return a promise containing the result of the check.
+	 * this method returns a promise containing the result of the check.
 	 *
 	 * @param {*} value
 	 * @return {Promise}
diff --git a/source/constraints/isobject.mjs b/source/constraints/isobject.mjs
index 6cca890a4862d3b9521462ae2e3d3d3c8a944530..0746e39078968161d31286522970f15797f6206e 100644
--- a/source/constraints/isobject.mjs
+++ b/source/constraints/isobject.mjs
@@ -22,16 +22,16 @@ export { IsObject };
  *
  * The uniform API of the constraints allows chains to be formed.
  *
- * @externalExample ../../example/constraints/isobject.mjs
+ * @example /examples/libraries/constraints/isobject/ A simple example
+ * 
  * @license AGPLv3
  * @since 1.3.0
  * @copyright schukai GmbH
- * @memberOf Monster.Constraints
  * @summary A constraint to check if a value is an object
  */
 class IsObject extends AbstractConstraint {
 	/**
-	 * this method return a promise containing the result of the check.
+	 * this method returns a promise containing the result of the check.
 	 *
 	 * @param {*} value
 	 * @return {Promise}
diff --git a/source/constraints/oroperator.mjs b/source/constraints/oroperator.mjs
index d92e65ef58f209040abe2da7925a0f1cd2d94938..babc44d464e65eeea1035fa18cc894b447b95216 100644
--- a/source/constraints/oroperator.mjs
+++ b/source/constraints/oroperator.mjs
@@ -23,16 +23,16 @@ export { OrOperator };
  *
  * The OrOperator is used to link several constraints. The constraint is fulfilled if one of the constraints is fulfilled.
  *
- * @externalExample ../../example/constraints/oroperator.mjs
+ * @example /examples/libraries/constraints/oroperator/ A simple example
+ * 
  * @license AGPLv3
  * @since 1.3.0
  * @copyright schukai GmbH
- * @memberOf Monster.Constraints
  * @summary A or operator
  */
 class OrOperator extends AbstractOperator {
 	/**
-	 * this method return a promise containing the result of the check.
+	 * this method returns a promise containing the result of the check.
 	 *
 	 * @param {*} value
 	 * @return {Promise}
diff --git a/source/constraints/valid.mjs b/source/constraints/valid.mjs
index 2dd5cac4bf8ed8db81c233f3cd710a6fbdb89f7f..ebb51bebce985cd815f052adff531f6c9370434f 100644
--- a/source/constraints/valid.mjs
+++ b/source/constraints/valid.mjs
@@ -23,11 +23,11 @@ export { Valid };
  *
  * The valid constraint allows an always valid query to be performed. this constraint is mainly intended for testing.
  *
- * @externalExample ../../example/constraints/valid.mjs
+ * @example /examples/libraries/constraints/valid/ A simple example
+ * 
  * @license AGPLv3
  * @since 1.3.0
  * @copyright schukai GmbH
- * @memberOf Monster.Constraints
  * @summary A constraint that always valid
  */
 class Valid extends AbstractConstraint {
diff --git a/source/data/buildmap.mjs b/source/data/buildmap.mjs
index c40d65f10a1cb50a052a5c3b504dacf4727e08f5..550ff2cc63b888eb367eecd2aba91451db1a51a3 100644
--- a/source/data/buildmap.mjs
+++ b/source/data/buildmap.mjs
@@ -33,9 +33,10 @@ const PARENT = "^";
  * The templates determine the appearance of the keys and the value of the map. Either a single value
  * id can be taken or a composite key ${id} ${name} can be used.
  *
- * If you want to access values of the parent data set, you have to use the ^ character, for example ${id} ${^.name}.
+ * If you want to access the values of the parent data set, you have to use the ^ character, for example, ${id} ${^.name}.
  *
  * @externalExample ../../example/data/buildmap.mjs
+ * 
  * @param {*} subject - The data object from which the map will be created
  * @param {string|Monster.Data~exampleSelectorCallback} selector - The path to the data object, or a callback that returns a map.
  * @param {string} [valueTemplate] - A template for the value of the map.
diff --git a/source/dom/updater.mjs b/source/dom/updater.mjs
index 350d5e4bc7759545899a69313c6eccdd6c4e34eb..86cc2535b9010fb84959378049a697a6b97afecf 100644
--- a/source/dom/updater.mjs
+++ b/source/dom/updater.mjs
@@ -54,11 +54,11 @@ export { Updater, addObjectWithUpdaterToElement };
  * to other values as well, you have to insert the attribute `data-monster-select-this`. This should be
  * done with care, as it can reduce performance.
  *
- * @externalExample ../../example/dom/updater.mjs
+ * @example /examples/libraries/dom/updater/simple/ Simple example
+ * 
  * @license AGPLv3
  * @since 1.8.0
  * @copyright schukai GmbH
- * @memberOf Monster.DOM
  * @throws {Error} the value is not iterable
  * @throws {Error} pipes are not allowed when cloning a node.
  * @throws {Error} no template was found with the specified key.
@@ -149,7 +149,7 @@ class Updater extends Base {
 	/**
 	 * With this method, the eventlisteners are hooked in and the magic begins.
 	 *
-	 * ```
+	 * ```js
 	 * updater.run().then(() => {
 	 *   updater.enableEventProcessing();
 	 * });
@@ -198,7 +198,7 @@ class Updater extends Base {
 	 * The run method must be called for the update to start working.
 	 * The method ensures that changes are detected.
 	 *
-	 * ```
+	 * ```js
 	 * updater.run().then(() => {
 	 *   updater.enableEventProcessing();
 	 * });
@@ -317,7 +317,6 @@ function getControlEventHandler() {
  * @throws {Error} the bind argument must start as a value with a path
  * @param {HTMLElement} element
  * @return void
- * @memberOf Monster.DOM
  * @private
  */
 function retrieveAndSetValue(element) {
diff --git a/source/i18n/providers/embed.mjs b/source/i18n/providers/embed.mjs
index b08f1dfaebc4d04e0e9c53ea975ed0f282670ae1..558f5d2831b9f307a6911026bbe9655fe0afa8c4 100644
--- a/source/i18n/providers/embed.mjs
+++ b/source/i18n/providers/embed.mjs
@@ -30,9 +30,7 @@ export { Embed };
  * @license AGPLv3
  * @since 1.13.0
  * @copyright schukai GmbH
- * @memberOf Monster.I18n.Providers
  * @see {@link https://datatracker.ietf.org/doc/html/rfc3066}
- * @tutorial i18n-locale-and-formatter
  */
 class Embed extends Provider {
 	/**
@@ -148,7 +146,7 @@ class Embed extends Provider {
 	 * `script[data-monster-role=translations]` is searched for and the translations are assigned to the element.
 	 *
 	 * @param element
-	 * @return {Promise<Awaited<unknown>[]>}
+	 * @returns {Promise<Awaited<*[]>>|Promise<Awaited<unknown>[]>}
 	 */
 	static assignTranslationsToElement(element) {
 		const d = getDocument();
diff --git a/source/types/basewithoptions.mjs b/source/types/basewithoptions.mjs
index 0aefe87e968c939478c92e67875a268d20d49eac..7c0da30e8f1cbd62b8381b2141c57d9fa746b8f0 100644
--- a/source/types/basewithoptions.mjs
+++ b/source/types/basewithoptions.mjs
@@ -26,13 +26,12 @@ export { BaseWithOptions };
  * This class is actually only used as a base class.
  *
  * 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.
+ * Derived classes almost always override the `default` getter with their own values.
  *
- * @externalExample ../../example/types/basewithoptions.mjs
  * @license AGPLv3
  * @since 1.13.0
  * @copyright schukai GmbH
- * @deprecated since 3.15.0 use `BaseWithOptions` instead of `BaseWithOptions`
+ * @deprecated since 3.15.0 
  */
 class BaseWithOptions extends Base {
 	/**
@@ -51,7 +50,7 @@ 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 with their own values. It is a good karma to always include
 	 * the values from the parent class.
 	 *
 	 * ```javascript
diff --git a/source/types/is.mjs b/source/types/is.mjs
index 0b91dab05d95142c76fd14b0c1f7c83a662dd0c4..1fc67ae6e577850bb41b222816e26b657a40bc3a 100644
--- a/source/types/is.mjs
+++ b/source/types/is.mjs
@@ -38,7 +38,6 @@ export {
  * @license AGPLv3
  * @since 1.2.0
  * @copyright schukai GmbH
- * @memberOf Monster.Types
  */
 function isIterable(value) {
 	if (value === undefined) return false;
@@ -57,7 +56,6 @@ function isIterable(value) {
  * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
- * @memberOf Monster.Types
  */
 function isPrimitive(value) {
 	var type;
@@ -91,7 +89,6 @@ function isPrimitive(value) {
  * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
- * @memberOf Monster.Types
  */
 function isSymbol(value) {
 	return "symbol" === typeof value ? true : false;
@@ -108,7 +105,6 @@ function isSymbol(value) {
  * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
- * @memberOf Monster.Types
  */
 function isBoolean(value) {
 	if (value === true || value === false) {
@@ -129,7 +125,6 @@ function isBoolean(value) {
  * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
- * @memberOf Monster.Types
  */
 function isString(value) {
 	if (value === undefined || typeof value !== "string") {
@@ -149,7 +144,6 @@ function isString(value) {
  * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
- * @memberOf Monster.Types
  */
 function isObject(value) {
 	if (isArray(value)) return false;
@@ -174,7 +168,6 @@ function isObject(value) {
  * @license AGPLv3
  * @since 1.5.0
  * @copyright schukai GmbH
- * @memberOf Monster.Types
  */
 function isInstance(value, instance) {
 	if (!isObject(value)) return false;
@@ -194,7 +187,6 @@ function isInstance(value, instance) {
  * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
- * @memberOf Monster.Types
  * @see https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
  */
 function isArray(value) {
@@ -212,7 +204,6 @@ function isArray(value) {
  * @license AGPLv3
  * @since 1.0.0
  * @copyright schukai GmbH
- * @memberOf Monster.Types
  */
 function isFunction(value) {
 	if (isArray(value)) return false;
@@ -236,7 +227,6 @@ function isFunction(value) {
  * @license AGPLv3
  * @since 1.4.0
  * @copyright schukai GmbH
- * @memberOf Monster.Types
  */
 function isInteger(value) {
 	return Number.isInteger(value);
diff --git a/source/util/comparator.mjs b/source/util/comparator.mjs
index f37d3f1c2ea9c8c98fee390195068093ff7d36ff..d138c174f82c4f37c37e77ae9db32fb84e363fbd 100644
--- a/source/util/comparator.mjs
+++ b/source/util/comparator.mjs
@@ -38,10 +38,9 @@ export { Comparator };
  *      }).equal({v: 2}, {v: 2});  // ↦ true
  * ```
  *
- * @externalExample ../../example/util/comparator.mjs
+ * @example /example/comparator/simple/ Simple example
  * @license AGPLv3
  * @since 1.3.0
- * @memberOf Monster.Util
  */
 class Comparator extends Base {
 	/**
diff --git a/source/util/deadmansswitch.mjs b/source/util/deadmansswitch.mjs
index 151183aa7f54e4f3188cc3fc2d405fe7970a2c28..5447bddf09c710e0921864591c2dfe0369c1555d 100644
--- a/source/util/deadmansswitch.mjs
+++ b/source/util/deadmansswitch.mjs
@@ -21,13 +21,13 @@ import { validateFunction, validateInteger } from "../types/validate.mjs";
 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.
+ * The dead man's switch allows setting a timer which can be reset again 
+ * and again within a defined period of time.
  *
- * @externalExample ../../example/util/deadmansswitch.mjs
+ * @example /example/util/deadmansswitch/simple/ Simple example
  * @copyright schukai GmbH
  * @license AGPLv3
  * @since 1.29.0
- * @memberOf Monster.Util
  * @summary Class to be able to execute function chains
  */
 class DeadMansSwitch extends Base {
@@ -46,8 +46,10 @@ class DeadMansSwitch extends Base {
 	}
 
 	/**
-	 *
-	 * @param {Integer|undefined} [delay]
+	 * @param delay
+	 * @returns {DeadMansSwitch}
+	 * @throws {Error} has already run
+	 * @throws {Error} unsupported argument
 	 */
 	touch(delay) {
 		if (this[internalSymbol]["isAlreadyRun"] === true) {
diff --git a/source/util/processing.mjs b/source/util/processing.mjs
index a70dc941ceed3e9617beb8ee4af4071c554328c7..19dc4983961b8546ad121d5874bf431e2765b488 100644
--- a/source/util/processing.mjs
+++ b/source/util/processing.mjs
@@ -33,12 +33,12 @@ export { Processing };
  * So the execution time is timeout1+timeout1+timeout1+timeout2
  *
  * The result of `run()` is a promise.
- *
- * @externalExample ../../example/util/processing.mjs
+ * 
+ * @example /examples/libraries/util/processing/simple/ A simple example
+ * 
  * @copyright schukai GmbH
  * @license AGPLv3
  * @since 1.21.0
- * @memberOf Monster.Util
  * @summary Class to be able to execute function chains
  */
 class Processing extends Base {