diff --git a/components/input/button.vugu b/components/input/button.vugu
index 5e5197a..9bcbd53 100644
--- a/components/input/button.vugu
+++ b/components/input/button.vugu
@@ -6,7 +6,7 @@
 	.d3c-1633424238 {
 		display: flex;
 		align-items: center;
-		gap: 0.75em;
+		gap: 0.5em;
 		text-decoration: none;
 		padding: 0.3em 0.5em;
 		margin: 0.5em 0;
@@ -18,10 +18,14 @@
 		text-overflow: ellipsis;
 		font-size: 1em;
 		font-family: "Segoe UI", sans-serif;
-		height: 2em;
+		min-height: 2em;
 		user-select: none;
 	}
 
+	.d3c-1633424238.d3c-button-vertical {
+		flex-direction: column;
+	}
+
 	.d3c-1633357633-sidebar .d3c-1633424238, .d3c-1633357633-menu .d3c-1633424238 {
 		border: none;
 		background-color: transparent;
diff --git a/components/input/button_vgen.go b/components/input/button_vgen.go
index 0f4a305..4dc18a5 100644
--- a/components/input/button_vgen.go
+++ b/components/input/button_vgen.go
@@ -55,7 +55,7 @@ func (c *Button) Build(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
 	}
 	vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Data: "style", Attr: []vugu.VGAttribute(nil)}
 	{
-		vgn.AppendChild(&vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t.d3c-1633424238 {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 0.75em;\n\t\ttext-decoration: none;\n\t\tpadding: 0.3em 0.5em;\n\t\tmargin: 0.5em 0;\n\t\tborder-radius: 4px;\n\t\tborder: 1px solid RGBA(127, 127, 127, 0.2);\n\t\tbackground-color: white;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\tfont-size: 1em;\n\t\tfont-family: \"Segoe UI\", sans-serif;\n\t\theight: 2em;\n\t\tuser-select: none;\n\t}\n\n\t.d3c-1633357633-sidebar .d3c-1633424238, .d3c-1633357633-menu .d3c-1633424238 {\n\t\tborder: none;\n\t\tbackground-color: transparent;\n\t}\n\n\t.d3c-1633424238:hover {\n\t\tbackground-color: RGBA(127, 127, 127, 0.1);\n\t}\n\n\t.d3c-1633424238:active {\n\t\tbackground-color: RGBA(127, 127, 127, 0.2);\n\t}\n\n\t.d3c-1633424238-selected {\n\t\tbackground-color: RGBA(127, 127, 127, 0.2) !important;\n\t}\n", Attr: []vugu.VGAttribute(nil)})
+		vgn.AppendChild(&vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t.d3c-1633424238 {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 0.5em;\n\t\ttext-decoration: none;\n\t\tpadding: 0.3em 0.5em;\n\t\tmargin: 0.5em 0;\n\t\tborder-radius: 4px;\n\t\tborder: 1px solid RGBA(127, 127, 127, 0.2);\n\t\tbackground-color: white;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\tfont-size: 1em;\n\t\tfont-family: \"Segoe UI\", sans-serif;\n\t\tmin-height: 2em;\n\t\tuser-select: none;\n\t}\n\n\t.d3c-1633424238.d3c-button-vertical {\n\t\tflex-direction: column;\n\t}\n\n\t.d3c-1633357633-sidebar .d3c-1633424238, .d3c-1633357633-menu .d3c-1633424238 {\n\t\tborder: none;\n\t\tbackground-color: transparent;\n\t}\n\n\t.d3c-1633424238:hover {\n\t\tbackground-color: RGBA(127, 127, 127, 0.1);\n\t}\n\n\t.d3c-1633424238:active {\n\t\tbackground-color: RGBA(127, 127, 127, 0.2);\n\t}\n\n\t.d3c-1633424238-selected {\n\t\tbackground-color: RGBA(127, 127, 127, 0.2) !important;\n\t}\n", Attr: []vugu.VGAttribute(nil)})
 	}
 	vgout.AppendCSS(vgn)
 	return vgout
diff --git a/components/navigation/sidebar-entry.vugu b/components/navigation/sidebar-entry.vugu
index 5d377a5..ef2cb3e 100644
--- a/components/navigation/sidebar-entry.vugu
+++ b/components/navigation/sidebar-entry.vugu
@@ -6,7 +6,7 @@
 	.d3c-1683622560 {
 		display: flex;
 		align-items: center;
-		gap: 0.75em;
+		gap: 0.5em;
 		text-decoration: none;
 		padding: 0.3em 0.5em;
 		margin: 0.5em 0;
@@ -18,10 +18,14 @@
 		text-overflow: ellipsis;
 		font-size: 1em;
 		font-family: "Segoe UI", sans-serif;
-		height: 2em;
+		min-height: 2em;
 		user-select: none;
 	}
 
+	.d3c-1683622560.d3c-button-vertical {
+		flex-direction: column;
+	}
+
 	.d3c-1633357633-sidebar .d3c-1683622560, .d3c-1633357633-menu .d3c-1683622560 {
 		border: none;
 		background-color: transparent;
diff --git a/components/navigation/sidebar-entry_vgen.go b/components/navigation/sidebar-entry_vgen.go
index 611b4a6..009eff7 100644
--- a/components/navigation/sidebar-entry_vgen.go
+++ b/components/navigation/sidebar-entry_vgen.go
@@ -55,7 +55,7 @@ func (c *SidebarEntry) Build(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
 	}
 	vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Data: "style", Attr: []vugu.VGAttribute(nil)}
 	{
-		vgn.AppendChild(&vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t.d3c-1683622560 {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 0.75em;\n\t\ttext-decoration: none;\n\t\tpadding: 0.3em 0.5em;\n\t\tmargin: 0.5em 0;\n\t\tborder-radius: 4px;\n\t\tborder: 1px solid RGBA(127, 127, 127, 0.3);\n\t\tbackground-color: white;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\tfont-size: 1em;\n\t\tfont-family: \"Segoe UI\", sans-serif;\n\t\theight: 2em;\n\t\tuser-select: none;\n\t}\n\n\t.d3c-1633357633-sidebar .d3c-1683622560, .d3c-1633357633-menu .d3c-1683622560 {\n\t\tborder: none;\n\t\tbackground-color: transparent;\n\t}\n\n\t.d3c-1683622560:hover {\n\t\tbackground-color: RGBA(127, 127, 127, 0.1);\n\t}\n\n\t.d3c-1683622560:active {\n\t\tbackground-color: RGBA(127, 127, 127, 0.2);\n\t}\n\n\t.d3c-1683622560-selected {\n\t\tbackground-color: RGBA(127, 127, 127, 0.2) !important;\n\t}\n\n\t.d3c-1633357633-sidebar-minimized .d3c-1683622560 > *:not(:first-child) {\n\t\tdisplay: none;\n\t}\n", Attr: []vugu.VGAttribute(nil)})
+		vgn.AppendChild(&vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t.d3c-1683622560 {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 0.5em;\n\t\ttext-decoration: none;\n\t\tpadding: 0.3em 0.5em;\n\t\tmargin: 0.5em 0;\n\t\tborder-radius: 4px;\n\t\tborder: 1px solid RGBA(127, 127, 127, 0.3);\n\t\tbackground-color: white;\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\tfont-size: 1em;\n\t\tfont-family: \"Segoe UI\", sans-serif;\n\t\tmin-height: 2em;\n\t\tuser-select: none;\n\t}\n\n\t.d3c-1683622560.d3c-button-vertical {\n\t\tflex-direction: column;\n\t}\n\n\t.d3c-1633357633-sidebar .d3c-1683622560, .d3c-1633357633-menu .d3c-1683622560 {\n\t\tborder: none;\n\t\tbackground-color: transparent;\n\t}\n\n\t.d3c-1683622560:hover {\n\t\tbackground-color: RGBA(127, 127, 127, 0.1);\n\t}\n\n\t.d3c-1683622560:active {\n\t\tbackground-color: RGBA(127, 127, 127, 0.2);\n\t}\n\n\t.d3c-1683622560-selected {\n\t\tbackground-color: RGBA(127, 127, 127, 0.2) !important;\n\t}\n\n\t.d3c-1633357633-sidebar-minimized .d3c-1683622560 > *:not(:first-child) {\n\t\tdisplay: none;\n\t}\n", Attr: []vugu.VGAttribute(nil)})
 	}
 	vgout.AppendCSS(vgn)
 	return vgout
diff --git a/page-home.vugu b/page-home.vugu
index f90c07e..9f59ce3 100644
--- a/page-home.vugu
+++ b/page-home.vugu
@@ -20,6 +20,21 @@
 			Some Button
 		
 		
Some inlined code in this line!
+		Navigation buttons
+		
+			
+				
+				Navigation 1
+			
+			
+				
+				Navigation 2
+			
+			
+				
+				Navigation 3
+			
+		
 	
 
 
diff --git a/page-home_vgen.go b/page-home_vgen.go
index 4e90543..e72afad 100644
--- a/page-home_vgen.go
+++ b/page-home_vgen.go
@@ -32,7 +32,7 @@ func (c *PageHome) Build(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
 		vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t"}
 		vgparent.AppendChild(vgn)
 		{
-			vgcompKey := vugu.MakeCompKey(0x37EEB0D274E409A1^vgin.CurrentPositionHash(), vgiterkey)
+			vgcompKey := vugu.MakeCompKey(0x39BABADAC819D98^vgin.CurrentPositionHash(), vgiterkey)
 			// ask BuildEnv for prior instance of this specific component
 			vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*layout.Container)
 			if vgcomp == nil {
@@ -61,7 +61,7 @@ func (c *PageHome) Build(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
 				vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
 				vgparent.AppendChild(vgn)
 				{
-					vgcompKey := vugu.MakeCompKey(0x4FF53CAAA41CCE90^vgin.CurrentPositionHash(), vgiterkey)
+					vgcompKey := vugu.MakeCompKey(0x60D890E7D4B4D522^vgin.CurrentPositionHash(), vgiterkey)
 					// ask BuildEnv for prior instance of this specific component
 					vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*view.Code)
 					if vgcomp == nil {
@@ -96,7 +96,7 @@ func (c *PageHome) Build(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
 				vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
 				vgparent.AppendChild(vgn)
 				{
-					vgcompKey := vugu.MakeCompKey(0xF3175C6AA6FF0B20^vgin.CurrentPositionHash(), vgiterkey)
+					vgcompKey := vugu.MakeCompKey(0xBB0658C92CDDA664^vgin.CurrentPositionHash(), vgiterkey)
 					// ask BuildEnv for prior instance of this specific component
 					vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.Button)
 					if vgcomp == nil {
@@ -113,7 +113,7 @@ func (c *PageHome) Build(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
 						_ = vgparent
 
 						{
-							vgcompKey := vugu.MakeCompKey(0xAB00A3E475771C36^vgin.CurrentPositionHash(), vgiterkey)
+							vgcompKey := vugu.MakeCompKey(0x99922A4ED6F5E1A0^vgin.CurrentPositionHash(), vgiterkey)
 							// ask BuildEnv for prior instance of this specific component
 							vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*icons.LGlobe)
 							if vgcomp == nil {
@@ -146,7 +146,7 @@ func (c *PageHome) Build(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
 				vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
 				vgparent.AppendChild(vgn)
 				{
-					vgcompKey := vugu.MakeCompKey(0xB8856D57FA85267D^vgin.CurrentPositionHash(), vgiterkey)
+					vgcompKey := vugu.MakeCompKey(0x8EA01A93BFDDF486^vgin.CurrentPositionHash(), vgiterkey)
 					// ask BuildEnv for prior instance of this specific component
 					vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.Button)
 					if vgcomp == nil {
@@ -163,7 +163,7 @@ func (c *PageHome) Build(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
 						_ = vgparent
 
 						{
-							vgcompKey := vugu.MakeCompKey(0x30CC61BA1E5579FC^vgin.CurrentPositionHash(), vgiterkey)
+							vgcompKey := vugu.MakeCompKey(0x767D3E8EC3212FD3^vgin.CurrentPositionHash(), vgiterkey)
 							// ask BuildEnv for prior instance of this specific component
 							vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*icons.LGlobe)
 							if vgcomp == nil {
@@ -196,7 +196,7 @@ func (c *PageHome) Build(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
 				vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
 				vgparent.AppendChild(vgn)
 				{
-					vgcompKey := vugu.MakeCompKey(0x54DF1AEFA358E73^vgin.CurrentPositionHash(), vgiterkey)
+					vgcompKey := vugu.MakeCompKey(0x2C49AE7E60E9DDB5^vgin.CurrentPositionHash(), vgiterkey)
 					// ask BuildEnv for prior instance of this specific component
 					vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.Button)
 					if vgcomp == nil {
@@ -213,7 +213,7 @@ func (c *PageHome) Build(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
 						_ = vgparent
 
 						{
-							vgcompKey := vugu.MakeCompKey(0x6E40BE26D99AF2BC^vgin.CurrentPositionHash(), vgiterkey)
+							vgcompKey := vugu.MakeCompKey(0xB5E7DF6AFAD70C5D^vgin.CurrentPositionHash(), vgiterkey)
 							// ask BuildEnv for prior instance of this specific component
 							vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*icons.LGlobe)
 							if vgcomp == nil {
@@ -253,7 +253,7 @@ func (c *PageHome) Build(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
 					vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "Some "}
 					vgparent.AppendChild(vgn)
 					{
-						vgcompKey := vugu.MakeCompKey(0xAF71C53E5D5B2249^vgin.CurrentPositionHash(), vgiterkey)
+						vgcompKey := vugu.MakeCompKey(0xD3BBF83B3D297129^vgin.CurrentPositionHash(), vgiterkey)
 						// ask BuildEnv for prior instance of this specific component
 						vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*view.CodeInline)
 						if vgcomp == nil {
@@ -280,6 +280,186 @@ func (c *PageHome) Build(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
 					vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: " in this line!"}
 					vgparent.AppendChild(vgn)
 				}
+				vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
+				vgparent.AppendChild(vgn)
+				vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "h2", Attr: []vugu.VGAttribute(nil)}
+				vgparent.AppendChild(vgn)
+				vgn.SetInnerHTML(vugu.HTML("Navigation buttons"))
+				vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
+				vgparent.AppendChild(vgn)
+				vgn = &vugu.VGNode{Type: vugu.VGNodeType(3), Namespace: "", Data: "div", Attr: []vugu.VGAttribute{vugu.VGAttribute{Namespace: "", Key: "style", Val: "display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0.5em 0;"}}}
+				vgparent.AppendChild(vgn)
+				{
+					vgparent := vgn
+					_ = vgparent
+					vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t"}
+					vgparent.AppendChild(vgn)
+					{
+						vgcompKey := vugu.MakeCompKey(0x122B098E9C6ED9D6^vgin.CurrentPositionHash(), vgiterkey)
+						// ask BuildEnv for prior instance of this specific component
+						vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.Button)
+						if vgcomp == nil {
+							// create new one if needed
+							vgcomp = new(input.Button)
+							vgin.BuildEnv.WireComponent(vgcomp)
+						}
+						vgin.BuildEnv.UseComponent(vgcompKey, vgcomp)	// ensure we can use this in the cache next time around
+						vgcomp.AttrMap = make(map[string]interface{}, 8)
+						vgcomp.AttrMap["class"] = "d3c-button-vertical"
+						vgcomp.AttrMap["style"] = "margin: 0;"
+						vgcomp.SymbolSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
+							vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
+							vgout = &vugu.BuildOut{}
+							vgout.Out = append(vgout.Out, vgn)
+							vgparent := vgn
+							_ = vgparent
+
+							{
+								vgcompKey := vugu.MakeCompKey(0xDA7214B27502E225^vgin.CurrentPositionHash(), vgiterkey)
+								// ask BuildEnv for prior instance of this specific component
+								vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*icons.LGlobe)
+								if vgcomp == nil {
+									// create new one if needed
+									vgcomp = new(icons.LGlobe)
+									vgin.BuildEnv.WireComponent(vgcomp)
+								}
+								vgin.BuildEnv.UseComponent(vgcompKey, vgcomp)	// ensure we can use this in the cache next time around
+								vgcomp.AttrMap = make(map[string]interface{}, 8)
+								vgcomp.AttrMap["style"] = "font-size: 2em;"
+								vgout.Components = append(vgout.Components, vgcomp)
+								vgn = &vugu.VGNode{Component: vgcomp}
+								vgparent.AppendChild(vgn)
+							}
+							return
+						})
+						vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
+							vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
+							vgout = &vugu.BuildOut{}
+							vgout.Out = append(vgout.Out, vgn)
+							vgparent := vgn
+							_ = vgparent
+
+							vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "Navigation 1"}
+							vgparent.AppendChild(vgn)
+							return
+						})
+						vgout.Components = append(vgout.Components, vgcomp)
+						vgn = &vugu.VGNode{Component: vgcomp}
+						vgparent.AppendChild(vgn)
+					}
+					vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t"}
+					vgparent.AppendChild(vgn)
+					{
+						vgcompKey := vugu.MakeCompKey(0x4FA0C9F5BC305773^vgin.CurrentPositionHash(), vgiterkey)
+						// ask BuildEnv for prior instance of this specific component
+						vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.Button)
+						if vgcomp == nil {
+							// create new one if needed
+							vgcomp = new(input.Button)
+							vgin.BuildEnv.WireComponent(vgcomp)
+						}
+						vgin.BuildEnv.UseComponent(vgcompKey, vgcomp)	// ensure we can use this in the cache next time around
+						vgcomp.AttrMap = make(map[string]interface{}, 8)
+						vgcomp.AttrMap["class"] = "d3c-button-vertical"
+						vgcomp.AttrMap["style"] = "margin: 0;"
+						vgcomp.SymbolSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
+							vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
+							vgout = &vugu.BuildOut{}
+							vgout.Out = append(vgout.Out, vgn)
+							vgparent := vgn
+							_ = vgparent
+
+							{
+								vgcompKey := vugu.MakeCompKey(0x2B614E70C14B984D^vgin.CurrentPositionHash(), vgiterkey)
+								// ask BuildEnv for prior instance of this specific component
+								vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*icons.LGlobe)
+								if vgcomp == nil {
+									// create new one if needed
+									vgcomp = new(icons.LGlobe)
+									vgin.BuildEnv.WireComponent(vgcomp)
+								}
+								vgin.BuildEnv.UseComponent(vgcompKey, vgcomp)	// ensure we can use this in the cache next time around
+								vgcomp.AttrMap = make(map[string]interface{}, 8)
+								vgcomp.AttrMap["style"] = "font-size: 2em;"
+								vgout.Components = append(vgout.Components, vgcomp)
+								vgn = &vugu.VGNode{Component: vgcomp}
+								vgparent.AppendChild(vgn)
+							}
+							return
+						})
+						vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
+							vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
+							vgout = &vugu.BuildOut{}
+							vgout.Out = append(vgout.Out, vgn)
+							vgparent := vgn
+							_ = vgparent
+
+							vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "Navigation 2"}
+							vgparent.AppendChild(vgn)
+							return
+						})
+						vgout.Components = append(vgout.Components, vgcomp)
+						vgn = &vugu.VGNode{Component: vgcomp}
+						vgparent.AppendChild(vgn)
+					}
+					vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t\t"}
+					vgparent.AppendChild(vgn)
+					{
+						vgcompKey := vugu.MakeCompKey(0xCED014187E3A2A45^vgin.CurrentPositionHash(), vgiterkey)
+						// ask BuildEnv for prior instance of this specific component
+						vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*input.Button)
+						if vgcomp == nil {
+							// create new one if needed
+							vgcomp = new(input.Button)
+							vgin.BuildEnv.WireComponent(vgcomp)
+						}
+						vgin.BuildEnv.UseComponent(vgcompKey, vgcomp)	// ensure we can use this in the cache next time around
+						vgcomp.AttrMap = make(map[string]interface{}, 8)
+						vgcomp.AttrMap["class"] = "d3c-button-vertical"
+						vgcomp.AttrMap["style"] = "margin: 0;"
+						vgcomp.SymbolSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
+							vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
+							vgout = &vugu.BuildOut{}
+							vgout.Out = append(vgout.Out, vgn)
+							vgparent := vgn
+							_ = vgparent
+
+							{
+								vgcompKey := vugu.MakeCompKey(0x346D44A2EA445BD1^vgin.CurrentPositionHash(), vgiterkey)
+								// ask BuildEnv for prior instance of this specific component
+								vgcomp, _ := vgin.BuildEnv.CachedComponent(vgcompKey).(*icons.LGlobe)
+								if vgcomp == nil {
+									// create new one if needed
+									vgcomp = new(icons.LGlobe)
+									vgin.BuildEnv.WireComponent(vgcomp)
+								}
+								vgin.BuildEnv.UseComponent(vgcompKey, vgcomp)	// ensure we can use this in the cache next time around
+								vgcomp.AttrMap = make(map[string]interface{}, 8)
+								vgcomp.AttrMap["style"] = "font-size: 2em;"
+								vgout.Components = append(vgout.Components, vgcomp)
+								vgn = &vugu.VGNode{Component: vgcomp}
+								vgparent.AppendChild(vgn)
+							}
+							return
+						})
+						vgcomp.DefaultSlot = vugu.NewBuilderFunc(func(vgin *vugu.BuildIn) (vgout *vugu.BuildOut) {
+							vgn := &vugu.VGNode{Type: vugu.VGNodeType(3)}
+							vgout = &vugu.BuildOut{}
+							vgout.Out = append(vgout.Out, vgn)
+							vgparent := vgn
+							_ = vgparent
+
+							vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "Navigation 3"}
+							vgparent.AppendChild(vgn)
+							return
+						})
+						vgout.Components = append(vgout.Components, vgcomp)
+						vgn = &vugu.VGNode{Component: vgcomp}
+						vgparent.AppendChild(vgn)
+					}
+					vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t\t"}
+					vgparent.AppendChild(vgn)
+				}
 				vgn = &vugu.VGNode{Type: vugu.VGNodeType(1), Data: "\n\t"}
 				vgparent.AppendChild(vgn)
 				return