diff --git a/gui/dialogs/AIcarrier.xml b/gui/dialogs/AIcarrier.xml
new file mode 100644
index 000000000..fda87ccb0
--- /dev/null
+++ b/gui/dialogs/AIcarrier.xml
@@ -0,0 +1,221 @@
+<?xml version="1.0"?>
+
+<PropertyList>
+    <name>AIcarrier</name>
+    <modal>false</modal>
+    <layout>vbox</layout>
+    
+
+    <!-- AI Carrier options -->
+
+    <text>
+        <halign>left</halign>
+        <label>AI Carrier</label>
+        <color>
+            <red>0.9</red>
+            <green>0.9</green>
+            <blue>0.9</blue>
+            <alpha>1</alpha>
+        </color>
+    </text>
+
+    <group>
+        <layout>hbox</layout>
+        <empty>
+            <pref-width>10</pref-width>
+        </empty>
+
+        <group>
+            <layout>vbox</layout>
+
+            <radio>
+                <halign>left</halign>
+                <label>Turn to launch course</label>
+                <property>/ai/models/carrier/controls/turn-to-launch-hdg</property>
+                <live>true</live>
+                <binding>
+                    <command>dialog-apply</command>
+                </binding>
+                <binding>
+                    <command>nasal</command>
+                    <script>
+                        var v = getprop("/ai/models/carrier/controls/turn-to-launch-hdg");
+                        foreach (var c; props.globals.getNode("/ai/models").getChildren("carrier")){
+                        c.getNode("controls/turn-to-launch-hdg").setBoolValue(v);
+                        c.getNode("controls/turn-to-recovery-hdg").setBoolValue(0);
+                        c.getNode("controls/turn-to-base-course").setBoolValue(0);
+                        }
+                    </script>
+                </binding>
+            </radio>
+
+            <radio>
+                <halign>left</halign>
+                <label>Turn to recovery course</label>
+                <property>/ai/models/carrier/controls/turn-to-recovery-hdg</property>
+                <live>true</live>
+                <binding>
+                    <command>dialog-apply</command>
+                </binding>
+                <binding>
+                    <command>nasal</command>
+                    <script>
+                        var v = getprop("/ai/models/carrier/controls/turn-to-recovery-hdg");
+                        foreach (var c; props.globals.getNode("/ai/models").getChildren("carrier")){
+                        c.getNode("controls/turn-to-recovery-hdg").setBoolValue(v);
+                        c.getNode("controls/turn-to-launch-hdg").setBoolValue(0);
+                        c.getNode("controls/turn-to-base-course").setBoolValue(0);
+                        }
+                    </script>
+                </binding>
+            </radio>
+
+            <radio>
+                <halign>left</halign>
+                <label>Turn to base course</label>
+                <property>/ai/models/carrier/controls/turn-to-base-course</property>
+                <live>true</live>
+                <binding>
+                    <command>dialog-apply</command>
+                </binding>
+                <binding>
+                    <command>nasal</command>
+                    <script>
+                        var v = getprop("/ai/models/carrier/controls/turn-to-base-course");
+                        foreach (var c; props.globals.getNode("/ai/models").getChildren("carrier")){
+                        c.getNode("controls/turn-to-base-course").setBoolValue(v);
+                        c.getNode("controls/turn-to-recovery-hdg").setBoolValue(0);
+                        c.getNode("controls/turn-to-launch-hdg").setBoolValue(0);
+                        }
+                    </script>
+                </binding>
+            </radio>
+
+            <checkbox>
+                <halign>left</halign>
+                <label>Operate Deck Elevators</label>
+                <property>/ai/models/carrier/controls/elevators</property>
+                <binding>
+                    <command>dialog-apply</command>
+                </binding>
+                <binding>
+                    <command>nasal</command>
+                    <script>
+                        var v = getprop("/ai/models/carrier/controls/elevators");
+                        foreach (var c; props.globals.getNode("/ai/models").getChildren("carrier"))
+                            c.getNode("controls/elevators").setBoolValue(v);
+                    </script>
+                </binding>
+            </checkbox>
+
+            <checkbox>
+                <halign>left</halign>
+                <label>Enable LSO Communications</label>
+                <property>/sim/current-view/lso-commentary</property>
+                <binding>
+                    <command>dialog-apply</command>
+                </binding>
+            </checkbox>
+
+            <checkbox>
+                <halign>left</halign>
+                <label>Enable Deck Park</label>
+                <property>/sim/current-view/deck-park</property>
+                <binding>
+                    <command>dialog-apply</command>
+                </binding>
+            </checkbox>
+
+            <checkbox>
+                <halign>left</halign>
+                <label>Deck Lights</label>
+                <property>/ai/models/carrier/controls/lighting/deck-lights</property>
+                <binding>
+                    <command>dialog-apply</command>
+                </binding>
+                <binding>
+                    <command>nasal</command>
+                    <script>
+                        var v = getprop("/ai/models/carrier/controls/lighting/deck-lights");
+                        foreach (var c; props.globals.getNode("/ai/models").getChildren("carrier"))
+                            c.getNode("controls/lighting/deck-lights",1).setBoolValue(v);
+                    </script>
+                </binding>
+            </checkbox>
+
+            <text>
+                <halign>left</halign>
+                <label>Discrete Flightdeck Floodlights (Red)</label>
+            </text>
+
+            <slider>
+                <halign>left</halign>
+                <width>75</width>
+                <height>25</height>
+                <property>/ai/models/carrier/controls/lighting/flood-lights-red-norm</property>
+                <binding>
+                    <command>nasal</command>
+                    <script>
+                        var v = getprop("/ai/models/carrier/controls/lighting/flood-lights-red-norm");
+                        foreach (var c; props.globals.getNode("/ai/models").getChildren("carrier"))
+                            c.getNode("controls/lighting/flood-lights-red-norm",1).setDoubleValue(v);
+                    </script>
+                </binding>
+            </slider>
+
+        </group>
+
+        <empty>
+            <stretch>true</stretch>
+        </empty>
+    </group>
+
+    <group>
+        <layout>hbox</layout>
+        <default-padding>6</default-padding>
+        <empty>
+            <stretch>true</stretch>
+        </empty>
+
+        <button>
+            <legend>OK</legend>
+            <default>true</default>
+            <equal>true</equal>
+            <binding>
+                <command>dialog-apply</command>
+            </binding>
+            <binding>
+                <command>dialog-close</command>
+            </binding>
+        </button>
+
+        <button>
+            <legend>Apply</legend>
+            <equal>true</equal>
+            <binding>
+                <command>dialog-apply</command>
+            </binding>
+        </button>
+
+        <button>
+            <legend>Reset</legend>
+            <equal>true</equal>
+            <binding>
+                <command>dialog-update</command>
+            </binding>
+        </button>
+
+        <button>
+            <legend>Cancel</legend>
+            <equal>true</equal>
+            <key>Esc</key>
+            <binding>
+                <command>dialog-close</command>
+            </binding>
+        </button>
+
+        <empty>
+            <stretch>true</stretch>
+        </empty>
+    </group>
+</PropertyList>
\ No newline at end of file
diff --git a/gui/dialogs/ai.xml b/gui/dialogs/ai.xml
new file mode 100644
index 000000000..bba1c22eb
--- /dev/null
+++ b/gui/dialogs/ai.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0"?>
+
+<!-- General ATC/AI options -->
+
+<PropertyList>
+    <name>ai</name>
+    <modal>false</modal>
+    <layout>vbox</layout>
+
+
+
+    <button>
+      <legend>-</legend>
+      <pref-width>16</pref-width>
+      <pref-height>16</pref-height>
+      <halign>right</halign>
+      <border>2</border>
+      <binding>
+        <command>dialog-close</command>
+      </binding>
+    </button>
+
+    <text>
+        <!-- <label>ATC/AI Options</label> -->
+        <label>AI Options</label>
+    </text>
+
+    <hrule/>
+
+    <group>
+        <layout>hbox</layout>
+        <empty>
+            <pref-width>10</pref-width>
+        </empty>
+
+        <group>
+            <layout>vbox</layout>
+
+           <!--  <checkbox>
+                <halign>left</halign>
+                <label>Enable ATC</label>
+                <property>/sim/atc/enabled</property>
+            </checkbox> -->
+
+            <checkbox>
+                <halign>left</halign>
+                <label>Enable AI traffic</label>
+                <property>/sim/ai-traffic/enabled</property>
+            </checkbox>
+
+            <group>
+                <layout>hbox</layout>
+
+                <text>
+                    <halign>left</halign>
+                    <label>AI traffic density:</label>
+                </text>
+
+                <combo>
+                    <halign>left</halign>
+                    <property>/sim/ai-traffic/level</property>
+                    <value>1</value>
+                    <value>2</value>
+                    <value>3</value>
+                </combo>
+            </group>
+
+        </group>
+
+        <empty>
+            <stretch>true</stretch>
+        </empty>
+    </group>
+</PropertyList>
\ No newline at end of file
diff --git a/gui/dialogs/view.xml b/gui/dialogs/view.xml
index d1c1a2ad7..b105ee1db 100644
--- a/gui/dialogs/view.xml
+++ b/gui/dialogs/view.xml
@@ -6,7 +6,7 @@
 	<layout>vbox</layout>
 
 	<text>
-		<label>Configure Active Views</label>
+		<label>Choose Active Views</label>
 	</text>
 
 	<hrule/>
diff --git a/gui/menubar.xml b/gui/menubar.xml
index 8126aa4ea..8dbbc8918 100644
--- a/gui/menubar.xml
+++ b/gui/menubar.xml
@@ -1,10 +1,11 @@
+<?xml version="1.0"?>
 <PropertyList>
 
 	<menu>
-		<label>File</label>
+		<label>General</label>
 
 		<item>
-			<label>Load</label>
+			<label>Load Flight    (Shift-F1)</label>
 			<binding>
 				<command>nasal</command>
 				<script>gui.load_flight()</script>
@@ -12,33 +13,51 @@
 		</item>
 
 		<item>
-			<label>Save</label>
+			<label>Save Flight    (Shift-F2)</label>
 			<binding>
 				<command>nasal</command>
 				<script>gui.save_flight()</script>
 			</binding>
 		</item>
-
+		<!--
 		<item>
-			<label>Reset</label>
+            <label>Scenario</label>
+			<binding>
+                <command>dialog-show</command>
+                <dialog-name>scenario</dialog-name>
+            </binding>
+        </item>
+-->
+		<item>
+			<label>Reset           (Shift-Esc)</label>
 			<binding>
 				<command>reset</command>
 			</binding>
 		</item>
 
-		<item>
+		<!--		<item>
+            <label>Set Lat/Lon Format</label>
+            <binding>
+                <command>nasal</command>
+                <script>
+                    var f = getprop(var d = "/sim/lon-lat-format") + 1;
+                    setprop(d, f &lt; 0 ? 0 : f > 2 ? 0 : f);
+                </script>
+            </binding>
+        </item>  
 			<label>High-Res Snapshot</label>
 			<enabled>false</enabled>
 			<binding>
 				<command>hires-screen-capture</command>
 			</binding>
 		</item>
-
+-->
 		<item>
-			<label>Snapshot</label>
+			<label>Screenshot             (F3)</label>
 			<binding>
 				<command>nasal</command>
 				<script>
+					gui.popdown();
 					var success = fgcommand("screen-capture");
 					var path = getprop("/sim/paths/screenshot-last");
 					if (success)
@@ -48,14 +67,27 @@
 				</script>
 			</binding>
 		</item>
+		<!--
+		<item>
+        <label>Last snapshot</label>
+			<binding>
+                <command>nasal</command>
+                <script>
+                    var path = getprop("/sim/paths/screenshot-last");
+                    if (path != nil) gui.popupTip(...) else gui.popupTip("no screenshots yet in this session")
+
+                    gui.popupTip("Screenshot written to '" ~ path ~ "'");
+                </script>
+			</binding>
+		</item>
 
 		<item>
-			<label>Print Screen</label>
+			<label>Print Screen         (F3)</label>
 			<binding>
 				<command>old-print-dialog</command>
 			</binding>
 		</item>
-
+-->
 		<item>
 			<label>Sound Configuration</label>
 			<binding>
@@ -65,23 +97,7 @@
 		</item>
 
 		<item>
-			<label>Browse Internal Properties</label>
-			<binding>
-				<command>nasal</command>
-				<script>gui.property_browser()</script>
-			</binding>
-		</item>
-
-		<item>
-			<label>Logging</label>
-			<binding>
-				<command>dialog-show</command>
-				<dialog-name>logging</dialog-name>
-			</binding>
-		</item>
-
-		<item>
-			<label>Quit</label>
+			<label>Quit                    (Esc)</label>
 			<binding>
 				<command>dialog-show</command>
 				<dialog-name>exit</dialog-name>
@@ -109,6 +125,16 @@
 		</item>
 
 		<item>
+			<!--      <item>
+            <label>Set Lat/Lon Format</label>
+            <binding>
+                <command>nasal</command>
+                <script>
+                    var f = getprop(var d = "/sim/lon-lat-format") + 1;
+                    setprop(d, f &lt; 0 ? 0 : f > 2 ? 0 : f);
+                </script>
+            </binding>
+        </item>   -->
 			<label>View Options</label>
 			<binding>
 				<command>dialog-show</command>
@@ -124,6 +150,14 @@
 			</binding>
 		</item>
 
+		<item>
+			<label>Adjust LOD Ranges</label>
+			<binding>
+				<command>dialog-show</command>
+				<dialog-name>static-lod</dialog-name>
+			</binding>
+		</item>
+
 		<item>
 			<label>Adjust View Position</label>
 			<binding>
@@ -141,28 +175,24 @@
 		</item>
 
 		<item>
-			<label>Instant Replay</label>
+			<label>Toggle Glide Slope Tunnel</label>
+			<binding>
+				<command>nasal</command>
+				<script>
+					var p = "/sim/rendering/glide-slope-tunnel";
+					setprop(p, var i = !getprop(p));
+					gui.popupTip("Glide slope tunnel " ~ (i ? "enabled" : "disabled"));
+				</script>
+			</binding>
+		</item>
+
+		<item>
+			<label>Instant Replay   (Ctrl-R)</label>
 			<binding>
 				<command>dialog-show</command>
 				<dialog-name>replay</dialog-name>
 			</binding>
 		</item>
-
-		<item>
-			<label>Adjust LOD Ranges</label>
-			<binding>
-				<command>dialog-show</command>
-				<dialog-name>static-lod</dialog-name>
-			</binding>
-		</item>
-
-		<item>
-			<label>OSG Display Settings</label>
-			<binding>
-				<command>dialog-show</command>
-				<dialog-name>osg-display-settings</dialog-name>
-			</binding>
-		</item>
 	</menu>
 
 	<menu>
@@ -193,7 +223,7 @@
 		</item>
 
 		<item>
-			<label>Random Attitude</label>
+			<label>Random Attitude</label>H
 			<binding>
 				<command>property-assign</command>
 				<property>/sim/presets/trim</property>
@@ -234,7 +264,7 @@
 		<name>autopilot</name>
 
 		<item>
-			<label>Autopilot Settings</label>
+			<label>Autopilot Settings (F11)</label>
 			<binding>
 				<command>dialog-show</command>
 				<dialog-name>autopilot</dialog-name>
@@ -249,45 +279,42 @@
 			</binding>
 		</item>
 
-        <item>
+		<item>
 			<label>Previous Waypoint</label>
 			<binding>
 				<command>nasal</command>
 				<script>setprop("/autopilot/route-manager/input", "@previous")</script>
 			</binding>
 		</item>
-		
-        <item>
+
+		<item>
 			<label>Next Waypoint</label>
 			<binding>
 				<command>nasal</command>
 				<script>setprop("/autopilot/route-manager/input", "@next")</script>
 			</binding>
 		</item>
-
-		<item>
-			<label>Set Lat/Lon Format</label>
-			<binding>
-				<command>nasal</command>
-				<script>
-					var f = getprop(var d = "/sim/lon-lat-format") + 1;
-					setprop(d, f &lt; 0 ? 0 : f > 2 ? 0 : f);
-				</script>
-			</binding>
-		</item>
-		
-		<item>
-			<label>Map</label>
-			<binding>
-				<command>dialog-show</command>
-				<dialog-name>map</dialog-name>
-			</binding>
-		</item>
 	</menu>
 
 	<menu>
 		<label>Environment</label>
 
+		<!--<item>
+			<label>Weather Scenario</label>
+			<binding>
+				<command>dialog-show</command>
+				<dialog-name>weather_scenario</dialog-name>
+			</binding>
+		</item>
+
+		<item>
+			<label>Weather Conditions</label>
+			<binding>
+				<command>dialog-show</command>
+				<dialog-name>weather</dialog-name>
+			</binding>
+		</item>-->
+
 		<item>
 			<label>Global Weather</label>
 			<binding>
@@ -296,30 +323,23 @@
 			</binding>
 		</item>
 
-	  <item>
-	    <label>Local Weather</label>
-	    <binding>
-	      <command>dialog-show</command>
-	      <dialog-name>local_weather</dialog-name>
-	    </binding>
-	  </item>
-	  
-	  <item>
-	    <label>Local Weather Tiles</label>
-	    <binding>
-	      <command>dialog-show</command>
-	      <dialog-name>local_weather_tiles</dialog-name>
-	    </binding>
-	  </item>
-	  
-	  <item>
-			<label>Time Settings</label>
+		<item>
+			<label>Local Weather</label>
 			<binding>
 				<command>dialog-show</command>
-				<dialog-name>timeofday</dialog-name>
+				<dialog-name>local_weather</dialog-name>
 			</binding>
 		</item>
 
+		<item>
+			<label>Local Weather Tiles</label>
+			<binding>
+				<command>dialog-show</command>
+				<dialog-name>local_weather_tiles</dialog-name>
+			</binding>
+		</item>
+
+
 		<item>
 			<label>Wildfire Settings</label>
 			<binding>
@@ -333,6 +353,22 @@
 	<menu>
 		<label>Equipment</label>
 
+		<item>
+			<label>Map</label>
+			<binding>
+				<command>dialog-show</command>
+				<dialog-name>map</dialog-name>
+			</binding>
+		</item>
+
+		<item>
+			<label>Stopwatch</label>
+			<binding>
+				<command>dialog-show</command>
+				<dialog-name>stopwatch-dialog</dialog-name>
+			</binding>
+		</item>
+
 		<item>
 			<label>Fuel and Payload</label>
 			<name>fuel-and-payload</name>
@@ -343,7 +379,7 @@
 		</item>
 
 		<item>
-			<label>Radio Settings</label>
+			<label>Radio Settings (F12)</label>
 			<binding>
 				<command>dialog-show</command>
 				<dialog-name>radios</dialog-name>
@@ -366,12 +402,10 @@
 			</binding>
 		</item>
 
+
+
 		<item>
-			<label>Stopwatch</label>
-			<binding>
-				<command>dialog-show</command>
-				<dialog-name>stopwatch-dialog</dialog-name>
-			</binding>
+			<label> --- Failures ---</label>
 		</item>
 
 		<item>
@@ -401,24 +435,25 @@
 
 	<menu>
 		<label>ATC/AI</label>
-
 		<item>
-			<label>Frequencies</label>
+			<label>ATC Options</label>
+			<binding>
+				<command>dialog-show</command>
+				<dialog-name>ai</dialog-name>
+			</binding>
+		</item>
+		<!--  Not working at present        
+		<item>
+			<label>ATC Services in range</label>
 			<binding>
 				<command>ATC-freq-search</command>
 			</binding>
 		</item>
 
-		<item>
-			<label>Options</label>
-			<binding>
-				<command>dialog-show</command>
-				<dialog-name>atc-ai</dialog-name>
-			</binding>
-		</item>
+		-->
 
 		<item>
-			<label>Tanker</label>
+			<label>AI Tanker</label>
 			<name>tanker</name>
 			<enabled>false</enabled>
 			<binding>
@@ -428,20 +463,31 @@
 		</item>
 
 		<item>
-			<label>Scenario</label>
+			<label>AI Carrier Options</label>
+			<binding>
+				<command>dialog-show</command>
+				<dialog-name>AIcarrier</dialog-name>
+			</binding>
+		</item>
+
+		<item>
+			<label>AI Scenario Select - takes effect on next run </label>
 			<binding>
 				<command>dialog-show</command>
 				<dialog-name>scenario</dialog-name>
 			</binding>
 		</item>
+
+
+
 	</menu>
 
 	<menu>
-		<label>Network</label>
+		<label>Multiplayer</label>
 		<name>multiplayer</name>
 
 		<item>
-			<label>Chat</label>
+			<label>Chat Dialog</label>
 			<binding>
 				<command>dialog-show</command>
 				<dialog-name>chat-full</dialog-name>
@@ -470,13 +516,15 @@
 				<command>nasal</command>
 				<script>
 					if (contains(globals, "MPCarriers")) {
-						MPCarriers.carrier_dialog.show();
+					MPCarriers.carrier_dialog.show();
 					} else {
-						gui.popupTip("No MPCarriers around at the moment.");
+					gui.popupTip("No MPCarriers around at the moment.");
 					}
 				</script>
 			</binding>
 		</item>
+
+
 	</menu>
 
 	<menu>
@@ -513,13 +561,13 @@
 			</binding>
 		</item>
 
-                <item>
-                        <label>Reload Network</label>
-                        <binding>
-                                <command>reinit</command>
-                                <subsystem>io</subsystem>
-                        </binding>
-                </item>
+		<item>
+			<label>Reload Network</label>
+			<binding>
+				<command>reinit</command>
+				<subsystem>io</subsystem>
+			</binding>
+		</item>
 
 		<item>
 			<label>Nasal Console</label>
@@ -577,20 +625,42 @@
 				<step type="int">1</step>
 			</binding>
 		</item>
+
+		<item>
+			<label>Browse Internal Properties</label>
+			<binding>
+				<command>nasal</command>
+				<script>gui.property_browser()</script>
+			</binding>
+		</item>
+
+		<item>
+			<label>Logging</label>
+			<binding>
+				<command>dialog-show</command>
+				<dialog-name>logging</dialog-name>
+			</binding>
+		</item>
+
+
+
+
+		<item>
+			<label>OSG Display Settings</label>
+			<binding>
+				<command>dialog-show</command>
+				<dialog-name>osg-display-settings</dialog-name>
+			</binding>
+		</item>
 	</menu>
 
+
 	<menu>
 		<label>Help</label>
 
+
 		<item>
-			<label>About</label>
-			<binding>
-				<command>dialog-show</command>
-				<dialog-name>about</dialog-name>
-			</binding>
-		</item>
-		<item>
-			<label>Help</label>
+			<label>Help (opens in browser)</label>
 			<binding>
 				<command>old-help-dialog</command>
 			</binding>
@@ -606,7 +676,11 @@
 		</item>
 
 		<item>
-			<label>Basic Keys</label>
+			<label> --- Key Reference ---</label>
+		</item>
+
+		<item>
+			<label>Basic Simulator Keys</label>
 			<binding>
 				<command>nasal</command>
 				<script>gui.showHelpDialog("/sim/help/basic")</script>
@@ -622,7 +696,7 @@
 		</item>
 
 		<item>
-			<label>Aircraft Help</label>
+			<label> Current Aircraft Keys           (?)</label>
 			<binding>
 				<command>nasal</command>
 				<script>gui.showHelpDialog("/sim/help")</script>
@@ -630,15 +704,7 @@
 		</item>
 
 		<item>
-			<label>Toggle Glide Slope Tunnel</label>
-			<binding>
-				<command>nasal</command>
-				<script>
-					var p = "/sim/rendering/glide-slope-tunnel";
-					setprop(p, var i = !getprop(p));
-					gui.popupTip("Glide slope tunnel " ~ (i ? "enabled" : "disabled"));
-				</script>
-			</binding>
+			<label> ---------------------</label>
 		</item>
 
 		<item>
@@ -659,6 +725,14 @@
 				<script>tutorial.stopTutorial()</script>
 			</binding>
 		</item>
+
+		<item>
+			<label>About</label>
+			<binding>
+				<command>dialog-show</command>
+				<dialog-name>about</dialog-name>
+			</binding>
+		</item>
 	</menu>
 
 </PropertyList>
diff --git a/keyboard.xml b/keyboard.xml
index e4010ac4d..d61f3d731 100644
--- a/keyboard.xml
+++ b/keyboard.xml
@@ -272,7 +272,7 @@ top down before the key bindings are parsed.
 
  <key n="32">
   <name>SPACE</name>
-  <desc>PTT - Push To Talk (via VoIP)</desc>
+  <desc>PTT - Push To Talk (via FGCom)</desc>
   <binding>
    <command>nasal</command>
    <script>space(1, modifiers.getValue())</script>