diff --git a/README.md b/README.md
index 8d5bebd6caead124ca596b3ac406c0abed98f5d0..69567b4f492b52b86ee9f5af2e6bf79c009f01e7 100644
--- a/README.md
+++ b/README.md
@@ -9,6 +9,7 @@ Package name:
     
 Features
 --------
+
 - Responsive
 - Integrated QUIQQER breadcrumb
 - Page transition effects
@@ -18,14 +19,16 @@ Features
 Installation
 ------------
 
-The package name is: quiqqer/template-businesspro
+The package name is: quiqqer/template-cologne
 
 
 Contribute
 ----------
 
+- Project: https://dev.quiqqer.com/quiqqer/template-cologne
 - Issue Tracker: https://dev.quiqqer.com/quiqqer/template-cologne/issues
-- Source Code: https://dev.quiqqer.com/quiqqer/template-cologne
+- Source Code: https://dev.quiqqer.com/quiqqer/template-cologne/tree/master
+- Wiki: https://dev.quiqqer.com/quiqqer/template-cologne/wikis/home
 
 
 Support
@@ -37,6 +40,7 @@ then you can write an e-mail to support@pcsg.de.
 For developers
 --------------
 
+
 ### Available template events
 For mor information go to
  [QUIQQER Wiki - Template events](https://dev.quiqqer.com/quiqqer/quiqqer/wikis/design_standard#template-events).
@@ -51,5 +55,14 @@ For mor information go to
 
 <!-- body -->
 {template_event name="quiqqer::template-cologne::body::begin" Template=$Template}
+{template_event name="quiqqer::template-cologne::body::afterTopBar" Template=$Template}
+{template_event name="quiqqer::template-cologne::body::afterMainMenu" Template=$Template}
+{template_event name="quiqqer::template-cologne::body::beforePage" Template=$Template}
+{template_event name="quiqqer::template-cologne::body::afterHeader" Template=$Template}
+{template_event name="quiqqer::template-cologne::body::afterBreadcrumb" Template=$Template}
+{template_event name="quiqqer::template-cologne::body::beforeMain" Template=$Template}
+{template_event name="quiqqer::template-cologne::body::afterMain" Template=$Template}
+{template_event name="quiqqer::template-cologne::body::beforeFooter" Template=$Template}
+{template_event name="quiqqer::template-cologne::body::afterFooter" Template=$Template}
 {template_event name="quiqqer::template-cologne::body::end" Template=$Template}
 ```
diff --git a/index.html b/index.html
index f2c60f780b06240c6c6d4eb81b065090a9f6e41d..3a87011ecef9c1d9471d43c47371480c76e50dfe 100644
--- a/index.html
+++ b/index.html
@@ -34,6 +34,8 @@
     Flags=$Flags LangCurrencySwitch=$LangCurrencySwitch Search=$Search
 }
 
+{template_event name="quiqqer::template-cologne::body::afterTopBar" Template=$Template}
+
 {* main navigation / menu *}
 {fetch template="template/mainMenu.html"
     Project=$Project
@@ -45,65 +47,21 @@
     initialBasketPrice=$initialBasketPrice
 }
 
-{if $header == 'afterNav' && $Site->getAttribute('image_emotion')}
-    {fetch template="template/pageHeader.html" Site=$Site pageTitle=$pageTitle}
-{/if}
+{template_event name="quiqqer::template-cologne::body::afterMainMenu" Template=$Template}
 
 {* <!--Shop category menu--> *}
 {if $showCategoryMenu}
 <div class="shop-category-menu-wrapper">
-    {$categoriesMenu}
+    {$CategoriesMenu}
 </div>
 {/if}
 
-<!-- breadcrumb -->
-{if $showBreadcrumb}
-    {fetch template="template/breadcrumb.html" Site=$Site pageTitle=$pageTitle}
-{/if}
-
-{assign var=headerSuffix value=$BricksManager->getBricksByArea('headerSuffix', $Site)}
-{foreach $headerSuffix as $Brick}
-    {assign var=brickFullWidth value=''}
-    {if $Brick->getSetting( 'general.fullWidth' )}
-        {assign var=brickFullWidth value='brick-full-width'}
-    {/if}
-
-    {assign var=brickNoPadding value=""}
-    {if $Brick->getSetting('general.noSpacing')}
-        {assign var=brickNoPadding value="brick-no-spacing"}
-    {/if}
-    <section class="template-brick-container template-brick-headerSuffix brick-id-{$Brick->getAttribute('id')}">
-        <div class="template-grid-container template-grid-row {$brickFullWidth} {$brickNoPadding}">
-            {$Brick->create()}
-        </div>
-    </section>
-{/foreach}
+{template_event name="quiqqer::template-cologne::body::beforePage" Template=$Template}
 
-<main class="cologne-main">
-    <div class="cologne-grid-container">
-        {$Template->getLayout()}
-    </div>
-</main>
-
-{assign var=footerPrefix value=$BricksManager->getBricksByArea('footerPrefix', $Site)}
-{foreach $footerPrefix as $Brick}
-    {assign var=brickFullWidth value=''}
-    {if $Brick->getSetting( 'general.fullWidth' )}
-        {assign var=brickFullWidth value='brick-full-width'}
-    {/if}
-
-    {assign var=brickNoPadding value=""}
-    {if $Brick->getSetting('general.noSpacing')}
-        {assign var=brickNoPadding value="brick-no-spacing"}
-    {/if}
-    <section class="template-brick-container template-brick-footerPrefix brick-id-{$Brick->getAttribute('id')}">
-        <div class="template-grid-container template-grid-row {$brickFullWidth} {$brickNoPadding}">
-            {$Brick->create()}
-        </div>
-    </section>
-{/foreach}
-
-{fetch template="template/footer/footer.html"
+{fetch template="template/page.html"
+    showBreadcrumb=$showBreadcrumb
+    header=$header
+    pageTitle=$pageTitle
     BricksManager=$BricksManager
     Site=$Site
     paymentsData=$paymentsData
@@ -113,6 +71,8 @@
     Template=$Template
 }
 
+{template_event name="quiqqer::template-cologne::body::afterPage" Template=$Template}
+
 {template_event name="quiqqer::template-cologne::body::end" Template=$Template}
 </body>
 </html>
\ No newline at end of file
diff --git a/src/QUI/TemplateCologne/Controls/Menu/Categories.php b/src/QUI/TemplateCologne/Controls/Menu/Categories.php
index 6444784d5aa54196e90f2dd75825eabe30b6f624..d4f36c850d40ab60c97099a7c48becb8821bc11c 100644
--- a/src/QUI/TemplateCologne/Controls/Menu/Categories.php
+++ b/src/QUI/TemplateCologne/Controls/Menu/Categories.php
@@ -26,7 +26,7 @@ class Categories extends QUI\Control
     public function __construct($attributes = [])
     {
         $this->setAttributes([
-            'class'       => 'quiqqer-categories-menu',
+            'class'       => 'quiqqer-categories-menu uuuuuuu',
             'startId'     => 1, // site id or site link where menu starts by. 1 is start page (first project page)
             'template'    => dirname(__FILE__) . '/Categories.html', // nav wrapper
             'menuFile'    => dirname(__FILE__) . '/Categories.Menu.html', // contains children (sites),
@@ -63,7 +63,6 @@ public function getBody()
             return '';
         }
 
-
         $Engine->assign([
             'menuFile'    => $this->getAttribute('menuFile'),
             'this'        => $this,
diff --git a/src/QUI/TemplateCologne/Utils.php b/src/QUI/TemplateCologne/Utils.php
index 5d4637f2f8c03814fc128e2f56dd639f806a30fd..df625afc851c3e87a569653f440ba666fc6b8db9 100644
--- a/src/QUI/TemplateCologne/Utils.php
+++ b/src/QUI/TemplateCologne/Utils.php
@@ -174,7 +174,7 @@ public static function getConfig($params)
                 'startId'     => $Project->getConfig('templateCologne.settings.categoryStartId')
             ]);
 
-            $config['categoriesMenu'] = QUI\ControlUtils::parse($CategoriesMenu);
+            $config['CategoriesMenu'] = QUI\ControlUtils::parse($CategoriesMenu);
         }
 
         // predefined footer
diff --git a/template/page.html b/template/page.html
new file mode 100644
index 0000000000000000000000000000000000000000..7748705ce44ac685ca57c0452c23ebcc972da2fb
--- /dev/null
+++ b/template/page.html
@@ -0,0 +1,70 @@
+{if $header == 'afterNav' && $Site->getAttribute('image_emotion')}
+    {fetch template="template/page/pageHeader.html" Site=$Site pageTitle=$pageTitle}
+{/if}
+
+{template_event name="quiqqer::template-cologne::body::afterHeader" Template=$Template}
+
+<!-- breadcrumb -->
+{if $showBreadcrumb}
+    {fetch template="template/page/breadcrumb.html" Site=$Site pageTitle=$pageTitle}
+{/if}
+
+{template_event name="quiqqer::template-cologne::body::afterBreadcrumb" Template=$Template}
+
+{assign var=headerSuffix value=$BricksManager->getBricksByArea('headerSuffix', $Site)}
+{foreach $headerSuffix as $Brick}
+    {assign var=brickFullWidth value=''}
+    {if $Brick->getSetting( 'general.fullWidth' )}
+        {assign var=brickFullWidth value='brick-full-width'}
+    {/if}
+
+    {assign var=brickNoPadding value=""}
+    {if $Brick->getSetting('general.noSpacing')}
+        {assign var=brickNoPadding value="brick-no-spacing"}
+    {/if}
+    <section class="template-brick-container template-brick-headerSuffix brick-id-{$Brick->getAttribute('id')}">
+        <div class="template-grid-container template-grid-row {$brickFullWidth} {$brickNoPadding}">
+            {$Brick->create()}
+        </div>
+    </section>
+{/foreach}
+
+{template_event name="quiqqer::template-cologne::body::beforeMain" Template=$Template}
+<main class="cologne-main">
+    <div class="cologne-grid-container">
+        {$Template->getLayout()}
+    </div>
+</main>
+{template_event name="quiqqer::template-cologne::body::afterMain" Template=$Template}
+
+{assign var=footerPrefix value=$BricksManager->getBricksByArea('footerPrefix', $Site)}
+{foreach $footerPrefix as $Brick}
+    {assign var=brickFullWidth value=''}
+    {if $Brick->getSetting( 'general.fullWidth' )}
+        {assign var=brickFullWidth value='brick-full-width'}
+    {/if}
+
+    {assign var=brickNoPadding value=""}
+    {if $Brick->getSetting('general.noSpacing')}
+        {assign var=brickNoPadding value="brick-no-spacing"}
+    {/if}
+    <section class="template-brick-container template-brick-footerPrefix brick-id-{$Brick->getAttribute('id')}">
+        <div class="template-grid-container template-grid-row {$brickFullWidth} {$brickNoPadding}">
+            {$Brick->create()}
+        </div>
+    </section>
+{/foreach}
+
+{template_event name="quiqqer::template-cologne::body::beforeFooter" Template=$Template}
+
+{fetch template="template/footer/footer.html"
+    BricksManager=$BricksManager
+    Site=$Site
+    paymentsData=$paymentsData
+    shortText=$shortText
+    urlList=$urlList
+    featuredProducts=$featuredProducts
+    Template=$Template
+}
+
+{template_event name="quiqqer::template-cologne::body::afterFooter" Template=$Template}
diff --git a/template/breadcrumb.html b/template/page/breadcrumb.html
similarity index 100%
rename from template/breadcrumb.html
rename to template/page/breadcrumb.html
diff --git a/template/pageHeader.html b/template/page/pageHeader.html
similarity index 100%
rename from template/pageHeader.html
rename to template/page/pageHeader.html