diff --git a/api/collections/articles.yml b/api/collections/articles.yml
index e5f0b16..269c8e5 100644
--- a/api/collections/articles.yml
+++ b/api/collections/articles.yml
@@ -104,4 +104,4 @@ permissions:
 #             file: hooks/article/delete_return.js
 
 fields:
-    - !include _article.yml
+    - !include fields/_article.yml
diff --git a/api/collections/content.yml b/api/collections/content.yml
index e09e2fa..22a1884 100644
--- a/api/collections/content.yml
+++ b/api/collections/content.yml
@@ -100,9 +100,13 @@ hooks:
 
 # Feldliste der Kollektion
 fields:
+    - name: name
+      type: string
+      meta:
+          label: { de: "Name der Page (optional)", en: "Page Name (optional)" }
     - name: path
       type: string
-      index: [ single, unique ]
+      index: [single, unique]
       meta:
           label: { de: "Pfad", en: "Path" }
     - name: blocks
@@ -110,4 +114,4 @@ fields:
       meta:
           label: { de: "Artikel dieser Seite", en: "Page Articles" }
       subFields:
-          - !include _article.yml
+          - !include fields/_article.yml
diff --git a/api/collections/fields/_article.yml b/api/collections/fields/_article.yml
index d862918..983f1b9 100644
--- a/api/collections/fields/_article.yml
+++ b/api/collections/fields/_article.yml
@@ -105,6 +105,22 @@ subFields:
             type: string
             meta:
                 label: { de: "Untertitel", en: "Subtitle" }
+          - name: panel1
+            type: object
+            meta:
+                widget: panel
+                label: { de: "Test Panel", en: "Test Panel" }
+            subFields:
+                - name: radioGroup1
+                  type: string[]
+                  meta:
+                      widget: radioGroup
+                      label: { de: "Radio Button Group", en: "Radio Button Group" }
+                      defaultValue: ["r2"]
+                      choices:
+                          - { id: "r1", name: { de: "Radio 1", en: "" } }
+                          - { id: "r2", name: { de: "Noch ein Radio 2", en: "" } }
+                          - { id: "r3", name: { de: "R 3", en: "" } }
           - name: types
             type: object
             meta:
@@ -112,18 +128,28 @@ subFields:
                 label:
                     de: Inhalt dieses Artikel
                     en: Article Content
-                activeTab: 0
+                activeTab: 1
             subFields:
                 - name: teaser
                   type: string
                   meta:
                       widget: richtext
                       label: { de: "Teaser-Text des Artikel", en: "Article Teaser Text" }
+                - name: teaserContent
+                  type: string
+                  meta:
+                      widget: uiContentBuilder
+                      label: { de: "Teaser-Inhalt", en: "Article Teaser Content" }
                 - name: details
                   type: string
                   meta:
                       widget: richtext
                       label: { de: "Detail-Text des Artikel", en: "Article Detail Text" }
+                - name: detailsContent
+                  type: string
+                  meta:
+                      widget: uiContentBuilder
+                      label: { de: "Details-Inhalt", en: "Article Details Content" }
                 - name: contentMedia
                   type: object
                   meta:
diff --git a/api/collections/fields/_locale.yml b/api/collections/fields/_locale.yml
new file mode 100644
index 0000000..6e07688
--- /dev/null
+++ b/api/collections/fields/_locale.yml
@@ -0,0 +1,241 @@
+name: locale
+type: string
+meta:
+    widget: select
+    label: { de: "Gebietsschema", en: "Locale" }
+    helperText:
+        {
+            de: "Definiert, in welcher Sprache das Menü verfügbar ist. Die Standard-Sprache ist 'de-DE'.",
+            en: "Defines in which language the menu is available. The default language is 'de-DE'.",
+        }
+    filter: true
+    defaultValue: "de-DE"
+    choices:
+        - { id: af, name: { key: "labels.locales.af" } }
+        - { id: af-ZA, name: { key: "labels.locales.af-ZA" } }
+        - { id: ar, name: { key: "labels.locales.ar" } }
+        - { id: ar-AE, name: { key: "labels.locales.ar-AE" } }
+        - { id: ar-BH, name: { key: "labels.locales.ar-BH" } }
+        - { id: ar-DZ, name: { key: "labels.locales.ar-DZ" } }
+        - { id: ar-EG, name: { key: "labels.locales.ar-EG" } }
+        - { id: ar-IQ, name: { key: "labels.locales.ar-IQ" } }
+        - { id: ar-JO, name: { key: "labels.locales.ar-JO" } }
+        - { id: ar-KW, name: { key: "labels.locales.ar-KW" } }
+        - { id: ar-LB, name: { key: "labels.locales.ar-LB" } }
+        - { id: ar-LY, name: { key: "labels.locales.ar-LY" } }
+        - { id: ar-MA, name: { key: "labels.locales.ar-MA" } }
+        - { id: ar-OM, name: { key: "labels.locales.ar-OM" } }
+        - { id: ar-QA, name: { key: "labels.locales.ar-QA" } }
+        - { id: ar-SA, name: { key: "labels.locales.ar-SA" } }
+        - { id: ar-SY, name: { key: "labels.locales.ar-SY" } }
+        - { id: ar-TN, name: { key: "labels.locales.ar-TN" } }
+        - { id: ar-YE, name: { key: "labels.locales.ar-YE" } }
+        - { id: az, name: { key: "labels.locales.az" } }
+        - { id: az-AZ, name: { key: "labels.locales.az-AZ" } }
+        - { id: be, name: { key: "labels.locales.be" } }
+        - { id: be-BY, name: { key: "labels.locales.be-BY" } }
+        - { id: bg, name: { key: "labels.locales.bg" } }
+        - { id: bg-BG, name: { key: "labels.locales.bg-BG" } }
+        - { id: bs-BA, name: { key: "labels.locales.bs-BA" } }
+        - { id: ca, name: { key: "labels.locales.ca" } }
+        - { id: ca-ES, name: { key: "labels.locales.ca-ES" } }
+        - { id: cs, name: { key: "labels.locales.cs" } }
+        - { id: cs-CZ, name: { key: "labels.locales.cs-CZ" } }
+        - { id: cy, name: { key: "labels.locales.cy" } }
+        - { id: cy-GB, name: { key: "labels.locales.cy-GB" } }
+        - { id: da, name: { key: "labels.locales.da" } }
+        - { id: da-DK, name: { key: "labels.locales.da-DK" } }
+        - { id: de, name: { key: "labels.locales.de" } }
+        - { id: de-AT, name: { key: "labels.locales.de-AT" } }
+        - { id: de-CH, name: { key: "labels.locales.de-CH" } }
+        - { id: de-DE, name: { key: "labels.locales.de-DE" } }
+        - { id: de-LI, name: { key: "labels.locales.de-LI" } }
+        - { id: de-LU, name: { key: "labels.locales.de-LU" } }
+        - { id: dv, name: { key: "labels.locales.dv" } }
+        - { id: dv-MV, name: { key: "labels.locales.dv-MV" } }
+        - { id: el, name: { key: "labels.locales.el" } }
+        - { id: el-GR, name: { key: "labels.locales.el-GR" } }
+        - { id: en, name: { key: "labels.locales.en" } }
+        - { id: en-AU, name: { key: "labels.locales.en-AU" } }
+        - { id: en-BZ, name: { key: "labels.locales.en-BZ" } }
+        - { id: en-CA, name: { key: "labels.locales.en-CA" } }
+        - { id: en-CB, name: { key: "labels.locales.en-CB" } }
+        - { id: en-GB, name: { key: "labels.locales.en-GB" } }
+        - { id: en-IE, name: { key: "labels.locales.en-IE" } }
+        - { id: en-JM, name: { key: "labels.locales.en-JM" } }
+        - { id: en-NZ, name: { key: "labels.locales.en-NZ" } }
+        - { id: en-PH, name: { key: "labels.locales.en-PH" } }
+        - { id: en-TT, name: { key: "labels.locales.en-TT" } }
+        - { id: en-US, name: { key: "labels.locales.en-US" } }
+        - { id: en-ZA, name: { key: "labels.locales.en-ZA" } }
+        - { id: en-ZW, name: { key: "labels.locales.en-ZW" } }
+        - { id: eo, name: { key: "labels.locales.eo" } }
+        - { id: es, name: { key: "labels.locales.es" } }
+        - { id: es-AR, name: { key: "labels.locales.es-AR" } }
+        - { id: es-BO, name: { key: "labels.locales.es-BO" } }
+        - { id: es-CL, name: { key: "labels.locales.es-CL" } }
+        - { id: es-CO, name: { key: "labels.locales.es-CO" } }
+        - { id: es-CR, name: { key: "labels.locales.es-CR" } }
+        - { id: es-DO, name: { key: "labels.locales.es-DO" } }
+        - { id: es-EC, name: { key: "labels.locales.es-EC" } }
+        - { id: es-ES, name: { key: "labels.locales.es-ES" } }
+        - { id: es-GT, name: { key: "labels.locales.es-GT" } }
+        - { id: es-HN, name: { key: "labels.locales.es-HN" } }
+        - { id: es-MX, name: { key: "labels.locales.es-MX" } }
+        - { id: es-NI, name: { key: "labels.locales.es-NI" } }
+        - { id: es-PA, name: { key: "labels.locales.es-PA" } }
+        - { id: es-PE, name: { key: "labels.locales.es-PE" } }
+        - { id: es-PR, name: { key: "labels.locales.es-PR" } }
+        - { id: es-PY, name: { key: "labels.locales.es-PY" } }
+        - { id: es-SV, name: { key: "labels.locales.es-SV" } }
+        - { id: es-UY, name: { key: "labels.locales.es-UY" } }
+        - { id: es-VE, name: { key: "labels.locales.es-VE" } }
+        - { id: et, name: { key: "labels.locales.et" } }
+        - { id: et-EE, name: { key: "labels.locales.et-EE" } }
+        - { id: eu, name: { key: "labels.locales.eu" } }
+        - { id: eu-ES, name: { key: "labels.locales.eu-ES" } }
+        - { id: fa, name: { key: "labels.locales.fa" } }
+        - { id: fa-IR, name: { key: "labels.locales.fa-IR" } }
+        - { id: fi, name: { key: "labels.locales.fi" } }
+        - { id: fi-FI, name: { key: "labels.locales.fi-FI" } }
+        - { id: fo, name: { key: "labels.locales.fo" } }
+        - { id: fo-FO, name: { key: "labels.locales.fo-FO" } }
+        - { id: fr, name: { key: "labels.locales.fr" } }
+        - { id: fr-BE, name: { key: "labels.locales.fr-BE" } }
+        - { id: fr-CA, name: { key: "labels.locales.fr-CA" } }
+        - { id: fr-CH, name: { key: "labels.locales.fr-CH" } }
+        - { id: fr-FR, name: { key: "labels.locales.fr-FR" } }
+        - { id: fr-LU, name: { key: "labels.locales.fr-LU" } }
+        - { id: fr-MC, name: { key: "labels.locales.fr-MC" } }
+        - { id: gl, name: { key: "labels.locales.gl" } }
+        - { id: gl-ES, name: { key: "labels.locales.gl-ES" } }
+        - { id: gu, name: { key: "labels.locales.gu" } }
+        - { id: gu-IN, name: { key: "labels.locales.gu-IN" } }
+        - { id: he, name: { key: "labels.locales.he" } }
+        - { id: he-IL, name: { key: "labels.locales.he-IL" } }
+        - { id: hi, name: { key: "labels.locales.hi" } }
+        - { id: hi-IN, name: { key: "labels.locales.hi-IN" } }
+        - { id: hr, name: { key: "labels.locales.hr" } }
+        - { id: hr-BA, name: { key: "labels.locales.hr-BA" } }
+        - { id: hr-HR, name: { key: "labels.locales.hr-HR" } }
+        - { id: hu, name: { key: "labels.locales.hu" } }
+        - { id: hu-HU, name: { key: "labels.locales.hu-HU" } }
+        - { id: hy, name: { key: "labels.locales.hy" } }
+        - { id: hy-AM, name: { key: "labels.locales.hy-AM" } }
+        - { id: id, name: { key: "labels.locales.id" } }
+        - { id: id-ID, name: { key: "labels.locales.id-ID" } }
+        - { id: is, name: { key: "labels.locales.is" } }
+        - { id: is-IS, name: { key: "labels.locales.is-IS" } }
+        - { id: it, name: { key: "labels.locales.it" } }
+        - { id: it-CH, name: { key: "labels.locales.it-CH" } }
+        - { id: it-IT, name: { key: "labels.locales.it-IT" } }
+        - { id: ja, name: { key: "labels.locales.ja" } }
+        - { id: ja-JP, name: { key: "labels.locales.ja-JP" } }
+        - { id: ka, name: { key: "labels.locales.ka" } }
+        - { id: ka-GE, name: { key: "labels.locales.ka-GE" } }
+        - { id: kk, name: { key: "labels.locales.kk" } }
+        - { id: kk-KZ, name: { key: "labels.locales.kk-KZ" } }
+        - { id: kn, name: { key: "labels.locales.kn" } }
+        - { id: kn-IN, name: { key: "labels.locales.kn-IN" } }
+        - { id: ko, name: { key: "labels.locales.ko" } }
+        - { id: ko-KR, name: { key: "labels.locales.ko-KR" } }
+        - { id: kok, name: { key: "labels.locales.kok" } }
+        - { id: kok-IN, name: { key: "labels.locales.kok-IN" } }
+        - { id: ky, name: { key: "labels.locales.ky" } }
+        - { id: ky-KG, name: { key: "labels.locales.ky-KG" } }
+        - { id: lt, name: { key: "labels.locales.lt" } }
+        - { id: lt-LT, name: { key: "labels.locales.lt-LT" } }
+        - { id: lv, name: { key: "labels.locales.lv" } }
+        - { id: lv-LV, name: { key: "labels.locales.lv-LV" } }
+        - { id: mi, name: { key: "labels.locales.mi" } }
+        - { id: mi-NZ, name: { key: "labels.locales.mi-NZ" } }
+        - { id: mk, name: { key: "labels.locales.mk" } }
+        - { id: mk-MK, name: { key: "labels.locales.mk-MK" } }
+        - { id: mn, name: { key: "labels.locales.mn" } }
+        - { id: mn-MN, name: { key: "labels.locales.mn-MN" } }
+        - { id: mr, name: { key: "labels.locales.mr" } }
+        - { id: mr-IN, name: { key: "labels.locales.mr-IN" } }
+        - { id: ms, name: { key: "labels.locales.ms" } }
+        - { id: ms-BN, name: { key: "labels.locales.ms-BN" } }
+        - { id: ms-MY, name: { key: "labels.locales.ms-MY" } }
+        - { id: mt, name: { key: "labels.locales.mt" } }
+        - { id: mt-MT, name: { key: "labels.locales.mt-MT" } }
+        - { id: nb, name: { key: "labels.locales.nb" } }
+        - { id: nb-NO, name: { key: "labels.locales.nb-NO" } }
+        - { id: nl, name: { key: "labels.locales.nl" } }
+        - { id: nl-BE, name: { key: "labels.locales.nl-BE" } }
+        - { id: nl-NL, name: { key: "labels.locales.nl-NL" } }
+        - { id: nn-NO, name: { key: "labels.locales.nn-NO" } }
+        - { id: ns, name: { key: "labels.locales.ns" } }
+        - { id: ns-ZA, name: { key: "labels.locales.ns-ZA" } }
+        - { id: pa, name: { key: "labels.locales.pa" } }
+        - { id: pa-IN, name: { key: "labels.locales.pa-IN" } }
+        - { id: pl, name: { key: "labels.locales.pl" } }
+        - { id: pl-PL, name: { key: "labels.locales.pl-PL" } }
+        - { id: ps, name: { key: "labels.locales.ps" } }
+        - { id: ps-AR, name: { key: "labels.locales.ps-AR" } }
+        - { id: pt, name: { key: "labels.locales.pt" } }
+        - { id: pt-BR, name: { key: "labels.locales.pt-BR" } }
+        - { id: pt-PT, name: { key: "labels.locales.pt-PT" } }
+        - { id: qu, name: { key: "labels.locales.qu" } }
+        - { id: qu-BO, name: { key: "labels.locales.qu-BO" } }
+        - { id: qu-EC, name: { key: "labels.locales.qu-EC" } }
+        - { id: qu-PE, name: { key: "labels.locales.qu-PE" } }
+        - { id: ro, name: { key: "labels.locales.ro" } }
+        - { id: ro-RO, name: { key: "labels.locales.ro-RO" } }
+        - { id: ru, name: { key: "labels.locales.ru" } }
+        - { id: ru-RU, name: { key: "labels.locales.ru-RU" } }
+        - { id: sa, name: { key: "labels.locales.sa" } }
+        - { id: sa-IN, name: { key: "labels.locales.sa-IN" } }
+        - { id: se, name: { key: "labels.locales.se" } }
+        - { id: se-FI, name: { key: "labels.locales.se-FI" } }
+        - { id: se-NO, name: { key: "labels.locales.se-NO" } }
+        - { id: se-SE, name: { key: "labels.locales.se-SE" } }
+        - { id: sk, name: { key: "labels.locales.sk" } }
+        - { id: sk-SK, name: { key: "labels.locales.sk-SK" } }
+        - { id: sl, name: { key: "labels.locales.sl" } }
+        - { id: sl-SI, name: { key: "labels.locales.sl-SI" } }
+        - { id: sq, name: { key: "labels.locales.sq" } }
+        - { id: sq-AL, name: { key: "labels.locales.sq-AL" } }
+        - { id: sr-BA, name: { key: "labels.locales.sr-BA" } }
+        - { id: sr-SP, name: { key: "labels.locales.sr-SP" } }
+        - { id: sv, name: { key: "labels.locales.sv" } }
+        - { id: sv-FI, name: { key: "labels.locales.sv-FI" } }
+        - { id: sv-SE, name: { key: "labels.locales.sv-SE" } }
+        - { id: sw, name: { key: "labels.locales.sw" } }
+        - { id: sw-KE, name: { key: "labels.locales.sw-KE" } }
+        - { id: syr, name: { key: "labels.locales.syr" } }
+        - { id: syr-SY, name: { key: "labels.locales.syr-SY" } }
+        - { id: ta, name: { key: "labels.locales.ta" } }
+        - { id: ta-IN, name: { key: "labels.locales.ta-IN" } }
+        - { id: te, name: { key: "labels.locales.te" } }
+        - { id: te-IN, name: { key: "labels.locales.te-IN" } }
+        - { id: th, name: { key: "labels.locales.th" } }
+        - { id: th-TH, name: { key: "labels.locales.th-TH" } }
+        - { id: tl, name: { key: "labels.locales.tl" } }
+        - { id: tl-PH, name: { key: "labels.locales.tl-PH" } }
+        - { id: tn, name: { key: "labels.locales.tn" } }
+        - { id: tn-ZA, name: { key: "labels.locales.tn-ZA" } }
+        - { id: tr, name: { key: "labels.locales.tr" } }
+        - { id: tr-TR, name: { key: "labels.locales.tr-TR" } }
+        - { id: tt, name: { key: "labels.locales.tt" } }
+        - { id: tt-RU, name: { key: "labels.locales.tt-RU" } }
+        - { id: ts, name: { key: "labels.locales.ts" } }
+        - { id: uk, name: { key: "labels.locales.uk" } }
+        - { id: uk-UA, name: { key: "labels.locales.uk-UA" } }
+        - { id: ur, name: { key: "labels.locales.ur" } }
+        - { id: ur-PK, name: { key: "labels.locales.ur-PK" } }
+        - { id: uz, name: { key: "labels.locales.uz" } }
+        - { id: uz-UZ, name: { key: "labels.locales.uz-UZ" } }
+        - { id: vi, name: { key: "labels.locales.vi" } }
+        - { id: vi-VN, name: { key: "labels.locales.vi-VN" } }
+        - { id: xh, name: { key: "labels.locales.xh" } }
+        - { id: xh-ZA, name: { key: "labels.locales.xh-ZA" } }
+        - { id: zh, name: { key: "labels.locales.zh" } }
+        - { id: zh-CN, name: { key: "labels.locales.zh-CN" } }
+        - { id: zh-HK, name: { key: "labels.locales.zh-HK" } }
+        - { id: zh-MO, name: { key: "labels.locales.zh-MO" } }
+        - { id: zh-SG, name: { key: "labels.locales.zh-SG" } }
+        - { id: zh-TW, name: { key: "labels.locales.zh-TW" } }
+        - { id: zu, name: { key: "labels.locales.zu" } }
+        - { id: zu-ZA, name: { key: "labels.locales.zu-ZA" } }
diff --git a/api/collections/navigation.yml b/api/collections/navigation.yml
new file mode 100644
index 0000000..6bc3752
--- /dev/null
+++ b/api/collections/navigation.yml
@@ -0,0 +1,206 @@
+###############################################################
+# Media Library
+###############################################################
+
+# Name/URL-Anteil der Kollektion
+name: navigation
+uploadPath: ../media/navigation
+
+# Metaangaben zur Kollektion welche in der Admin-UI verwendet werden können
+meta:
+    # Navigationseintrag in der Admin-UI
+    label: { de: "Navigation", en: "Navigation" }
+    # Icon (Material UI) für den Navigationseintrag
+    muiIcon: file-tree
+    # Identifizierung eines Eintrags für z.B. Select-Boxen in der Admin-UI
+    rowIdentTpl: { twig: "{{ path }}" }
+    # Standardsortierung der Liste
+    defaultSort: { field: "id", order: "ASC" }
+    # Admin-Backend Ansichten
+    defaultImageFilter: s
+    views:
+        - type: simpleList
+          mediaQuery: "(max-width:599px)"
+          primaryText: ident
+          secondaryText: locale
+        - type: table
+          mediaQuery: "(min-width:600px)"
+          columns:
+              - ident
+              - locale
+
+imageFilter:
+    xs:
+        - fit: true
+          height: 90
+          width: 90
+          resampling: lanczos
+          quality: 60
+    s:
+        - fit: true
+          height: 300
+          width: 300
+          resampling: lanczos
+          quality: 60
+    m:
+        - fit: true
+          height: 600
+          width: 600
+          resampling: lanczos
+          quality: 60
+    l:
+        - fit: true
+          height: 1200
+          width: 1200
+          resampling: lanczos
+          quality: 60
+    xl:
+        - fit: true
+          height: 2000
+          width: 2000
+          resampling: lanczos
+          quality: 60
+
+permissions:
+    public:
+        methods:
+            get: true
+            post: false
+            put: false
+            delete: false
+    user:
+        methods:
+            get: true
+            post: false
+            put: false
+            delete: false
+    # token als Zusatzsicherung gegen Spam, mehr siehe Hook
+    "token:${PUBLIC_TOKEN}":
+        methods:
+            get: false
+            post: false
+            put: false
+            delete: false
+
+# Field References
+
+x-title: &title
+    name: title
+    type: string
+    meta:
+        label: { de: "Titel", en: "Title" }
+        helperText:
+            {
+                de: "Der Titel des Navigationspunkts wird auf der Webseite angezeigt.",
+                en: "The title of the navigation point is displayed on the page.",
+            }
+
+x-settings: &settings
+    name: settings
+    type: object
+    meta:
+        widget: tabs
+        activeTab: 0
+
+x-page: &page
+    name: page
+    type: string
+    meta:
+        widget: select
+        label: { de: Seite, en: "Page" }
+        choices:
+            endpoint: "content"
+            mapping:
+                id: "id"
+                name: "path"
+            params:
+                count: 1
+                sort: "ASC"
+                query: ""
+
+x-url: &url
+    name: url
+    type: object
+    meta:
+        label: { de: "Link", en: "Link" }
+    subFields:
+        - name: url
+          type: string
+          meta:
+              label: { de: "Ziel-URL", en: "Target URL" }
+              helperText:
+                  {
+                      de: "Definiert eine interne oder externe URL, zu dieser bei Klick auf den Navigationspunkt, gesprungen wird.",
+                      en: "Defines an internal or external URL to which a jump is made when the navigation point is clicked.",
+                  }
+              inputProps:
+                  type: "url"
+
+        - name: target
+          type: string
+          meta:
+              widget: select
+              label: { de: Zielfenster, en: Target }
+              defaultValue: "_self"
+              choices:
+                  - { id: "_self", name: "Gleicher Tab oder Seite (Standardwert)" }
+                  - { id: "_blank", name: "Neuer Tab oder Fenster" }
+                  - { id: "_parent", name: "Elternfenster" }
+
+x-items: &items
+    name: items
+    type: object[]
+    meta:
+        collapse: { titleFieldName: "settings.title" }
+        label: { de: "Navigationspunkte", en: "Navigation Points" }
+        helperText:
+            {
+                de: "Definition aller Navigationspunkte für diese Navigation",
+                en: "Definition of all navigation points for this navigation",
+            }
+
+# Feldliste der Kollektion
+fields:
+    - name: ident
+      type: string
+      meta:
+          widget: select
+          choices:
+              - id: main
+                name:
+                    de: Hauptnavigation
+                    en: Main Navigation
+              - id: service
+                name:
+                    de: Servicenavigation
+                    en: Servicen Navigation
+
+    - !include fields/_locale.yml
+
+    - <<: *items
+      subFields:
+          - <<: *settings
+            subFields:
+                - *title
+                - *page
+                - *url
+                - <<: *items
+                  subFields:
+                      - <<: *settings
+                        subFields:
+                            - *title
+                            - *page
+                            - *url
+                            - <<: *items
+                              subFields:
+                                  - <<: *settings
+                                    subFields:
+                                        - *title
+                                        - *page
+                                        - *url
+
+indexes:
+    - unique: true
+      key:
+          - ident
+          - locale
diff --git a/api/collections/prototype_articles.yml b/api/collections/prototype_articles.yml
deleted file mode 100644
index b412841..0000000
--- a/api/collections/prototype_articles.yml
+++ /dev/null
@@ -1,103 +0,0 @@
-########################################################################
-# Articles
-########################################################################
-
-name: prototype_articles
-uploadPath: ../media/prototype_articles
-meta:
-    # Navigationseintrag in der Admin-UI
-    label: { de: "PROTOTYPE TEST - Artikel auf der Seite", en: "PROTOTYPE TEST -Page articles" }
-    # Icon (Material UI) für den Navigationseintrag
-    muiIcon: file-document-edit-outline
-    # Standardsortierung der Liste
-    defaultSort: { field: "article.general.sort", order: "ASC" }
-    # Admin-Backend Ansichten
-    defaultImageFilter: s
-    views:
-        # Mobile Darstellung
-        - type: simpleList
-          mediaQuery: "(max-width:599px)"
-          primaryText: path
-          columns:
-            - article.general.public
-            - article.content.title
-            - article.general.position
-            - article.general.sort
-        # Desktop
-        - type: table
-          mediaQuery: "(min-width:600px)"
-          columns:
-            - article.general.public
-            - article.content.title
-            - article.general.position
-            - article.general.sort
-
-imageFilter:
-    xs:
-        - fit: true
-          height: 90
-          width: 90
-          resampling: "lancos"
-          quality: 60
-    s:
-        - fit: true
-          height: 300
-          width: 300
-          resampling: "lancos"
-          quality: 60
-    m:
-        - fit: true
-          height: 600
-          width: 600
-          resampling: "lancos"
-          quality: 60
-    l:
-        - fit: true
-          height: 1200
-          width: 1200
-          resampling: "lancos"
-          quality: 60
-    xl:
-        - fit: true
-          height: 2000
-          width: 2000
-          resampling: "lancos"
-          quality: 60
-
-permissions:
-    public:
-        methods:
-            get: true
-            post: false
-            put: false
-            delete: false
-    user:
-        methods:
-            get: true
-            post: true
-            put: true
-            delete: true
-    # token als Zusatzsicherung gegen Spam, mehr siehe Hook
-    "token:${PUBLIC_TOKEN}":
-        methods:
-            get: false
-            post: false
-            put: false
-            delete: false
-
-# hooks:
-#     post:
-#         create:
-#             type: javascript
-#             file: hooks/article/post_create.js
-#     put:
-#         update:
-#             type: javascript
-#             file: hooks/article/put_return.js
-#     delete:
-#         return:
-#             type: javascript
-#             file: hooks/article/delete_return.js
-
-fields:
-    - !include fields/_article.yml
\ No newline at end of file
diff --git a/api/config.yml b/api/config.yml
index 533be08..33d61f7 100644
--- a/api/config.yml
+++ b/api/config.yml
@@ -8,7 +8,7 @@ meta:
 # Liste aller möglichen Kollektionen (Listen, Seiten...) zum Projekt
 collections:
     - !include collections/general.yml
-    - !include collections/mediaLibrary.yml
+    - !include collections/navigation.yml
     - !include collections/tags.yml
     - !include collections/articles.yml
     - !include collections/content.yml