diff --git a/Classes/Domain/Model/MenuItem.php b/Classes/Domain/Model/MenuItem.php
index b56df01e29a3427103db839174b68ccdf16a0853..eda0c622be6e9a1ee1b47e567a7335bd67b7f39f 100644
--- a/Classes/Domain/Model/MenuItem.php
+++ b/Classes/Domain/Model/MenuItem.php
@@ -1,4 +1,5 @@
 <?php
+
 namespace NL\NlMenubuilder\Domain\Model;
 
 /***
@@ -16,10 +17,10 @@ namespace NL\NlMenubuilder\Domain\Model;
  */
 class MenuItem extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
 {
-    public const TYPE_PAGE = '0';
-    public const TYPE_LINK = '1';
-    public const TYPE_CONTENT = '2';
-    public const TYPE_SUBMENU = '3';
+    const TYPE_PAGE = '0';
+    const TYPE_LINK = '1';
+    const TYPE_CONTENT = '2';
+    const TYPE_SUBMENU = '3';
 
     /**
      * Type of the menu item
@@ -73,6 +74,14 @@ class MenuItem extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
      */
     protected $content = '';
 
+    /**
+     * submenu
+     *
+     * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\NL\NlMenubuilder\Domain\Model\Menu>
+     * @TYPO3\CMS\Extbase\Annotation\ORM\Cascade("remove")
+     */
+    protected $submenu = null;
+
     /**
      * Returns the title
      *
@@ -219,4 +228,70 @@ class MenuItem extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
     {
         $this->content = $content;
     }
+
+    /**
+     * __construct
+     */
+    public function __construct()
+    {
+
+        //Do not remove the next line: It would break the functionality
+        $this->initStorageObjects();
+    }
+
+    /**
+     * Initializes all ObjectStorage properties
+     * Do not modify this method!
+     * It will be rewritten on each save in the extension builder
+     * You may modify the constructor of this class instead
+     *
+     * @return void
+     */
+    protected function initStorageObjects()
+    {
+        $this->submenu = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();
+    }
+
+    /**
+     * Adds a Menu
+     *
+     * @param \NL\NlMenubuilder\Domain\Model\Menu $submenu
+     * @return void
+     */
+    public function addSubmenu(\NL\NlMenubuilder\Domain\Model\Menu $submenu)
+    {
+        $this->submenu->attach($submenu);
+    }
+
+    /**
+     * Removes a Menu
+     *
+     * @param \NL\NlMenubuilder\Domain\Model\Menu $submenuToRemove The Menu to be removed
+     * @return void
+     */
+    public function removeSubmenu(\NL\NlMenubuilder\Domain\Model\Menu $submenuToRemove)
+    {
+        $this->submenu->detach($submenuToRemove);
+    }
+
+    /**
+     * Returns the submenu
+     *
+     * @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\NL\NlMenubuilder\Domain\Model\Menu> $submenu
+     */
+    public function getSubmenu()
+    {
+        return $this->submenu;
+    }
+
+    /**
+     * Sets the submenu
+     *
+     * @param \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\NL\NlMenubuilder\Domain\Model\Menu> $submenu
+     * @return void
+     */
+    public function setSubmenu(\TYPO3\CMS\Extbase\Persistence\ObjectStorage $submenu)
+    {
+        $this->submenu = $submenu;
+    }
 }
diff --git a/Configuration/TCA/tx_nlmenubuilder_domain_model_menu.php b/Configuration/TCA/tx_nlmenubuilder_domain_model_menu.php
index 6b20f54e2180281e8ba9fc40160953ceb9c36f5d..6c4245e8511fae26c6bb5725b50f18ab7a428c21 100644
--- a/Configuration/TCA/tx_nlmenubuilder_domain_model_menu.php
+++ b/Configuration/TCA/tx_nlmenubuilder_domain_model_menu.php
@@ -160,5 +160,10 @@ return [
 
         ],
 
+        'menuitem' => [
+            'config' => [
+                'type' => 'passthrough',
+            ],
+        ],
     ],
 ];
diff --git a/Configuration/TCA/tx_nlmenubuilder_domain_model_menuitem.php b/Configuration/TCA/tx_nlmenubuilder_domain_model_menuitem.php
index c45512dd1b2212d02509a3d492f0ea229e9ae579..66fb58952815dfd37b982b45e24d30bbf68bd04d 100644
--- a/Configuration/TCA/tx_nlmenubuilder_domain_model_menuitem.php
+++ b/Configuration/TCA/tx_nlmenubuilder_domain_model_menuitem.php
@@ -36,7 +36,7 @@ return [
         // content
         '2' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, type, title, content, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'],
         // submenu
-        '3' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, type, title, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'],
+        '3' => ['showitem' => 'sys_language_uid, l10n_parent, l10n_diffsource, hidden, type, title, submenu, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, starttime, endtime'],
     ],
     'columns' => [
         'sys_language_uid' => [
@@ -237,7 +237,7 @@ return [
             'config' => [
                 'type' => 'input',
                 'size' => 30,
-                'eval' => 'trim'
+                'eval' => 'trim,required'
             ],
         ],
         'content' => [
@@ -254,7 +254,25 @@ return [
                 ],
                 'cols' => 40,
                 'rows' => 15,
-                'eval' => 'trim',
+                'eval' => 'trim,required',
+            ],
+
+        ],
+        'submenu' => [
+            'exclude' => true,
+            'label' => 'LLL:EXT:nl_menubuilder/Resources/Private/Language/locallang_db.xlf:tx_nlmenubuilder_domain_model_menuitem.submenu',
+            'config' => [
+                'type' => 'inline',
+                'foreign_table' => 'tx_nlmenubuilder_domain_model_menu',
+                'foreign_field' => 'menuitem',
+                'maxitems' => 9999,
+                'appearance' => [
+                    'collapseAll' => 0,
+                    'levelLinksPosition' => 'top',
+                    'showSynchronizationLink' => 1,
+                    'showPossibleLocalizationRecords' => 1,
+                    'showAllLocalizationLink' => 1
+                ],
             ],
 
         ],
diff --git a/ExtensionBuilder.json b/ExtensionBuilder.json
index 96a701fb43d94932987632bd47e4994833f92944..a3b783cfbd824cdba8dc2e23e75ce144565bb821 100644
--- a/ExtensionBuilder.json
+++ b/ExtensionBuilder.json
@@ -128,8 +128,8 @@
         {
             "config": {
                 "position": [
-                    517,
-                    233
+                    471,
+                    365
                 ]
             },
             "name": "New Model Object",
@@ -238,7 +238,19 @@
                     ]
                 },
                 "relationGroup": {
-                    "relations": []
+                    "relations": [
+                        {
+                            "foreignRelationClass": "",
+                            "lazyLoading": false,
+                            "propertyIsExcludeField": true,
+                            "relationDescription": "",
+                            "relationName": "submenu",
+                            "relationType": "zeroToMany",
+                            "relationWire": "[wired]",
+                            "renderType": "inline",
+                            "uid": "1611042414700"
+                        }
+                    ]
                 }
             }
         }
@@ -290,11 +302,23 @@
                 "terminal": "SOURCES",
                 "uid": "908718443858"
             }
+        },
+        {
+            "src": {
+                "moduleId": 2,
+                "terminal": "relationWire_0",
+                "uid": "1611042414700"
+            },
+            "tgt": {
+                "moduleId": 0,
+                "terminal": "SOURCES",
+                "uid": "782096674115"
+            }
         }
     ],
     "storagePath": "\/var\/www\/html\/public\/typo3conf\/ext\/",
     "log": {
-        "last_modified": "2021-04-22 11:17",
+        "last_modified": "2021-04-23 09:51",
         "extension_builder_version": "9.10.3",
         "be_user": " (1)"
     }
diff --git a/Resources/Private/Language/locallang.xlf b/Resources/Private/Language/locallang.xlf
index 0be185aae9f06689335a64ae50162814b191a055..de906b15af4619346541af9ad72d9b22b5da705c 100644
--- a/Resources/Private/Language/locallang.xlf
+++ b/Resources/Private/Language/locallang.xlf
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <xliff version="1.0">
-	<file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang" date="2021-04-22T11:17:02Z" product-name="nl_menubuilder">
+	<file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang" date="2021-04-23T09:51:09Z" product-name="nl_menubuilder">
 		<header/>
 		<body>
 			<trans-unit id="tx_nlmenubuilder_domain_model_menu" resname="tx_nlmenubuilder_domain_model_menu">
@@ -45,6 +45,9 @@
 			<trans-unit id="tx_nlmenubuilder_domain_model_menuitem.content" resname="tx_nlmenubuilder_domain_model_menuitem.content">
 				<source>Content</source>
 			</trans-unit>
+			<trans-unit id="tx_nlmenubuilder_domain_model_menuitem.submenu" resname="tx_nlmenubuilder_domain_model_menuitem.submenu">
+				<source>Submenu</source>
+			</trans-unit>
 		</body>
 	</file>
 </xliff>
diff --git a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menu.xlf b/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menu.xlf
index 92575173e22b04df58463225d5b1083b34c479d9..27093bae9495771a6177760104e4215834210c11 100644
--- a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menu.xlf
+++ b/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menu.xlf
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <xliff version="1.0">
-	<file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_csh" date="2021-04-22T11:17:02Z" product-name="nl_menubuilder">
+	<file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_csh" date="2021-04-23T09:51:09Z" product-name="nl_menubuilder">
 		<header/>
 		<body>
 			<trans-unit id="title.description" resname="title.description">
diff --git a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menugroup.xlf b/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menugroup.xlf
index a1c2f382545c41712dbae374b1085714a4daf51c..1d000fed252f6212fa7bec659919ff47ece98d62 100644
--- a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menugroup.xlf
+++ b/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menugroup.xlf
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <xliff version="1.0">
-	<file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_csh" date="2021-04-22T11:17:02Z" product-name="nl_menubuilder">
+	<file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_csh" date="2021-04-23T09:51:09Z" product-name="nl_menubuilder">
 		<header/>
 		<body>
 			<trans-unit id="title.description" resname="title.description">
diff --git a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menuitem.xlf b/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menuitem.xlf
index 9ddcb844de9866d1d20404774d2ead53a76d28c8..121cf9616a24d1c3c11392f9c33e0d686d18fe9f 100644
--- a/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menuitem.xlf
+++ b/Resources/Private/Language/locallang_csh_tx_nlmenubuilder_domain_model_menuitem.xlf
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <xliff version="1.0">
-	<file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_csh" date="2021-04-22T11:17:02Z" product-name="nl_menubuilder">
+	<file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_csh" date="2021-04-23T09:51:09Z" product-name="nl_menubuilder">
 		<header/>
 		<body>
 			<trans-unit id="type.description" resname="type.description">
@@ -24,6 +24,9 @@
 			<trans-unit id="content.description" resname="content.description">
 				<source>content</source>
 			</trans-unit>
+			<trans-unit id="submenu.description" resname="submenu.description">
+				<source>submenu</source>
+			</trans-unit>
 		</body>
 	</file>
 </xliff>
diff --git a/Resources/Private/Language/locallang_db.xlf b/Resources/Private/Language/locallang_db.xlf
index d12607c5247bbd5f266873fb6a38c33710518288..ba93054deed0a8f8e1c8f72b7d6a1551bbdc828c 100644
--- a/Resources/Private/Language/locallang_db.xlf
+++ b/Resources/Private/Language/locallang_db.xlf
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <xliff version="1.0">
-	<file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_db" date="2021-04-22T11:17:02Z" product-name="nl_menubuilder">
+	<file source-language="en" datatype="plaintext" original="EXT:nl_menubuilder/Resources/Private/Language/locallang_db" date="2021-04-23T09:51:09Z" product-name="nl_menubuilder">
 		<header/>
 		<body>
 			<trans-unit id="tx_nlmenubuilder_domain_model_menu" resname="tx_nlmenubuilder_domain_model_menu">
diff --git a/ext_emconf.php b/ext_emconf.php
index bc184f83df3740042ffa19b4a342ea432922b72c..0020851ca981f40ac616fbdf46f46c9167b3c51f 100644
--- a/ext_emconf.php
+++ b/ext_emconf.php
@@ -3,7 +3,7 @@
 /***************************************************************
  * Extension Manager/Repository config file for ext: "nl_menubuilder"
  *
- * Auto generated by Extension Builder 2021-04-22
+ * Auto generated by Extension Builder 2021-04-23
  *
  * Manual updates:
  * Only the data in the array - anything else is removed by next write.
diff --git a/ext_tables.sql b/ext_tables.sql
index 508495d7de304f1f7ac376f75de0ff9e02b1bb22..bdbd919005e1286eea7f2bb385d8048bababefcf 100644
--- a/ext_tables.sql
+++ b/ext_tables.sql
@@ -3,6 +3,8 @@
 #
 CREATE TABLE tx_nlmenubuilder_domain_model_menu (
 
+	menuitem int(11) unsigned DEFAULT '0' NOT NULL,
+
 	title varchar(255) DEFAULT '' NOT NULL,
 	menu_group int(11) unsigned DEFAULT '0',
 	menu_item int(11) unsigned DEFAULT '0' NOT NULL
@@ -31,8 +33,7 @@ CREATE TABLE tx_nlmenubuilder_domain_model_menuitem (
 	image int(11) unsigned NOT NULL default '0',
 	page varchar(255) DEFAULT '' NOT NULL,
 	link varchar(255) DEFAULT '' NOT NULL,
-	content text
+	content text,
+	submenu int(11) unsigned DEFAULT '0' NOT NULL
 
 );
-
-## EXTENSION BUILDER DEFAULTS END TOKEN - Everything BEFORE this line is overwritten with the defaults of the extension builder
\ No newline at end of file