Update version file.
Update version file.

 Binary files a/Assets/Plugins/KerbalEngineer.Unity.dll and b/Assets/Plugins/KerbalEngineer.Unity.dll differ
--- a/Assets/Prefabs/FlightMenuSection.prefab
+++ b/Assets/Prefabs/FlightMenuSection.prefab
@@ -242,7 +242,7 @@
     m_DisabledTrigger: Disabled
   m_Interactable: 1
   m_TargetGraphic: {fileID: 11449350}
-  toggleTransition: 1
+  toggleTransition: 0
   graphic: {fileID: 11484356}
   m_Group: {fileID: 0}
   onValueChanged:
@@ -316,7 +316,7 @@
     m_DisabledTrigger: Disabled
   m_Interactable: 1
   m_TargetGraphic: {fileID: 11461446}
-  toggleTransition: 1
+  toggleTransition: 0
   graphic: {fileID: 11418436}
   m_Group: {fileID: 0}
   onValueChanged:
@@ -707,6 +707,10 @@
       propertyPath: m_PreferredHeight
       value: 18
       objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: toggleTransition
+      value: 0
+      objectReference: {fileID: 0}
     m_RemovedComponents: []
   m_ParentPrefab: {fileID: 0}
   m_RootGameObject: {fileID: 130812}

--- /dev/null
+++ b/Assets/Prefabs/Setting.prefab
@@ -1,1 +1,274 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &120186
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 224: {fileID: 22457826}
+  - 222: {fileID: 22284884}
+  - 114: {fileID: 11446448}
+  m_Layer: 5
+  m_Name: Label
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &139342
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 224: {fileID: 22475724}
+  - 114: {fileID: 11457692}
+  - 114: {fileID: 11461286}
+  m_Layer: 5
+  m_Name: Setting
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &152604
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 224: {fileID: 22432972}
+  - 114: {fileID: 11476120}
+  m_Layer: 5
+  m_Name: Buttons
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &11446448
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 120186}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 12
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 3
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Setting Label
+--- !u!114 &11457692
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 139342}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: 400
+  m_PreferredHeight: 20
+  m_FlexibleWidth: -1
+  m_FlexibleHeight: -1
+--- !u!114 &11461286
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 139342}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 644905346, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Label: {fileID: 11446448}
+  m_ButtonsTransform: {fileID: 22432972}
+  m_SettingButtonPrefab: {fileID: 168214, guid: 345debd9876196a4e95d8718febe5301,
+    type: 2}
+  m_SettingTogglePrefab: {fileID: 153220, guid: b0b78ee2755669241a6e82c70b5988cf,
+    type: 2}
+--- !u!114 &11476120
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 152604}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 5
+  m_Spacing: 2
+  m_ChildForceExpandWidth: 0
+  m_ChildForceExpandHeight: 1
+--- !u!222 &22284884
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 120186}
+--- !u!224 &22432972
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 152604}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 22475724}
+  m_RootOrder: 1
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 1, y: .5}
+--- !u!224 &22457826
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 120186}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 22475724}
+  m_RootOrder: 0
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: .5, y: 1}
+  m_AnchoredPosition: {x: 2.5, y: 0}
+  m_SizeDelta: {x: -5, y: 0}
+  m_Pivot: {x: .5, y: .5}
+--- !u!224 &22475724
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 139342}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 22457826}
+  - {fileID: 22432972}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: .5, y: .5}
+--- !u!1001 &100100000
+Prefab:
+  m_ObjectHideFlags: 1
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 0}
+      propertyPath: m_ButtonsTransform
+      value: 
+      objectReference: {fileID: 22432972}
+    - target: {fileID: 0}
+      propertyPath: m_Label
+      value: 
+      objectReference: {fileID: 11446448}
+    - target: {fileID: 0}
+      propertyPath: m_SettingButtonPrefab
+      value: 
+      objectReference: {fileID: 168214, guid: 345debd9876196a4e95d8718febe5301, type: 2}
+    - target: {fileID: 0}
+      propertyPath: m_SettingTogglePrefab
+      value: 
+      objectReference: {fileID: 153220, guid: b0b78ee2755669241a6e82c70b5988cf, type: 2}
+    - target: {fileID: 0}
+      propertyPath: m_Color.r
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_Color.g
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_Color.b
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_Text
+      value: Setting Label
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_PreferredWidth
+      value: 400
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_AnchorMin.x
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_SizeDelta.x
+      value: -5
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_AnchorMax.x
+      value: .5
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_Spacing
+      value: 2
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_AnchoredPosition.x
+      value: 2.5
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_ChildForceExpandWidth
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_ChildAlignment
+      value: 5
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 0}
+  m_RootGameObject: {fileID: 139342}
+  m_IsPrefabParent: 1
 

--- /dev/null
+++ b/Assets/Prefabs/SettingButton.prefab
@@ -1,1 +1,260 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &168214
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 224: {fileID: 22424224}
+  - 222: {fileID: 22268938}
+  - 114: {fileID: 11467924}
+  - 114: {fileID: 11423954}
+  - 114: {fileID: 11425436}
+  - 114: {fileID: 11431978}
+  m_Layer: 5
+  m_Name: SettingButton
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &190018
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 224: {fileID: 22434708}
+  - 222: {fileID: 22253606}
+  - 114: {fileID: 11411402}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &11411402
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 190018}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 0
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 12
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Button
+--- !u!114 &11423954
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 168214}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1392445389, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 0
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1}
+    m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1}
+    m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814}
+    m_ColorMultiplier: 1
+    m_FadeDuration: .100000001
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 11467924}
+  m_OnClick:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+--- !u!114 &11425436
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 168214}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ElementType: 3
+--- !u!114 &11431978
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 168214}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: -1
+  m_PreferredHeight: -1
+  m_FlexibleWidth: -1
+  m_FlexibleHeight: -1
+--- !u!114 &11467924
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 168214}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_Sprite: {fileID: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!222 &22253606
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 190018}
+--- !u!222 &22268938
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 168214}
+--- !u!224 &22424224
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 168214}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 22434708}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: .5, y: .5}
+--- !u!224 &22434708
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 190018}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 22424224}
+  m_RootOrder: 0
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: .5, y: .5}
+--- !u!1001 &100100000
+Prefab:
+  m_ObjectHideFlags: 1
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 0}
+      propertyPath: m_FontData.m_FontSize
+      value: 12
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_FontData.m_RichText
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_RaycastTarget
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_Color.r
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_Color.g
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_Color.b
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_FontData.m_FontStyle
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_FlexibleWidth
+      value: -1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 0}
+  m_RootGameObject: {fileID: 168214}
+  m_IsPrefabParent: 1
 

--- /dev/null
+++ b/Assets/Prefabs/SettingToggle.prefab
@@ -1,1 +1,344 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &112456
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 224: {fileID: 22471524}
+  - 222: {fileID: 22262292}
+  - 114: {fileID: 11411192}
+  m_Layer: 5
+  m_Name: Selected
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &153220
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 224: {fileID: 22458510}
+  - 222: {fileID: 22234250}
+  - 114: {fileID: 11474744}
+  - 114: {fileID: 11492986}
+  - 114: {fileID: 11473012}
+  - 114: {fileID: 11469566}
+  m_Layer: 5
+  m_Name: SettingToggle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!1 &159822
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 224: {fileID: 22412684}
+  - 222: {fileID: 22267242}
+  - 114: {fileID: 11484368}
+  m_Layer: 5
+  m_Name: Text
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &11411192
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 112456}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &11469566
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 153220}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: -1
+  m_PreferredHeight: -1
+  m_FlexibleWidth: -1
+  m_FlexibleHeight: -1
+--- !u!114 &11473012
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 153220}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 2109663825, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Navigation:
+    m_Mode: 3
+    m_SelectOnUp: {fileID: 0}
+    m_SelectOnDown: {fileID: 0}
+    m_SelectOnLeft: {fileID: 0}
+    m_SelectOnRight: {fileID: 0}
+  m_Transition: 0
+  m_Colors:
+    m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
+    m_HighlightedColor: {r: .960784316, g: .960784316, b: .960784316, a: 1}
+    m_PressedColor: {r: .784313738, g: .784313738, b: .784313738, a: 1}
+    m_DisabledColor: {r: .784313738, g: .784313738, b: .784313738, a: .501960814}
+    m_ColorMultiplier: 1
+    m_FadeDuration: .100000001
+  m_SpriteState:
+    m_HighlightedSprite: {fileID: 0}
+    m_PressedSprite: {fileID: 0}
+    m_DisabledSprite: {fileID: 0}
+  m_AnimationTriggers:
+    m_NormalTrigger: Normal
+    m_HighlightedTrigger: Highlighted
+    m_PressedTrigger: Pressed
+    m_DisabledTrigger: Disabled
+  m_Interactable: 1
+  m_TargetGraphic: {fileID: 11474744}
+  toggleTransition: 0
+  graphic: {fileID: 11411192}
+  m_Group: {fileID: 0}
+  onValueChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.Toggle+ToggleEvent, UnityEngine.UI, Version=1.0.0.0,
+      Culture=neutral, PublicKeyToken=null
+  m_IsOn: 0
+--- !u!114 &11474744
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 153220}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_Sprite: {fileID: 0}
+  m_Type: 1
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
+--- !u!114 &11484368
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 159822}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 0
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_FontData:
+    m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+    m_FontSize: 12
+    m_FontStyle: 1
+    m_BestFit: 0
+    m_MinSize: 10
+    m_MaxSize: 40
+    m_Alignment: 4
+    m_RichText: 0
+    m_HorizontalOverflow: 0
+    m_VerticalOverflow: 0
+    m_LineSpacing: 1
+  m_Text: Button
+--- !u!114 &11492986
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 153220}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ElementType: 4
+--- !u!222 &22234250
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 153220}
+--- !u!222 &22262292
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 112456}
+--- !u!222 &22267242
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 159822}
+--- !u!224 &22412684
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 159822}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 22458510}
+  m_RootOrder: 1
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: .5, y: .5}
+--- !u!224 &22458510
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 153220}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 22471524}
+  - {fileID: 22412684}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: .5, y: .5}
+--- !u!224 &22471524
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 112456}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 22458510}
+  m_RootOrder: 0
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: .5, y: .5}
+--- !u!1001 &100100000
+Prefab:
+  m_ObjectHideFlags: 1
+  serializedVersion: 2
+  m_Modification:
+    m_TransformParent: {fileID: 0}
+    m_Modifications:
+    - target: {fileID: 0}
+      propertyPath: m_ElementType
+      value: 4
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_Transition
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_FontData.m_FontSize
+      value: 12
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_FontData.m_RichText
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_RaycastTarget
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_Color.r
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_Color.g
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_Color.b
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_FontData.m_FontStyle
+      value: 1
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: toggleTransition
+      value: 0
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_FlexibleWidth
+      value: -1
+      objectReference: {fileID: 0}
+    m_RemovedComponents: []
+  m_ParentPrefab: {fileID: 0}
+  m_RootGameObject: {fileID: 153220}
+  m_IsPrefabParent: 1
 

--- a/Assets/Prefabs/Window.prefab
+++ b/Assets/Prefabs/Window.prefab
@@ -11,6 +11,7 @@
   - 222: {fileID: 22224666}
   - 114: {fileID: 11463020}
   - 114: {fileID: 11473370}
+  - 114: {fileID: 11452824}
   m_Layer: 5
   m_Name: Titlebar
   m_TagString: Untagged
@@ -50,6 +51,8 @@
   - 114: {fileID: 11400662}
   - 114: {fileID: 11453036}
   - 225: {fileID: 22579498}
+  - 114: {fileID: 11464560}
+  - 114: {fileID: 11409628}
   m_Layer: 5
   m_Name: Window
   m_TagString: Untagged
@@ -74,14 +77,36 @@
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
+--- !u!1 &173368
+GameObject:
+  m_ObjectHideFlags: 0
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  serializedVersion: 4
+  m_Component:
+  - 224: {fileID: 22447524}
+  - 114: {fileID: 11403752}
+  - 114: {fileID: 11450476}
+  m_Layer: 5
+  m_Name: Padding
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
 --- !u!1 &182900
 GameObject:
-  m_ObjectHideFlags: 0
+  m_ObjectHideFlags: 1
   m_PrefabParentObject: {fileID: 0}
   m_PrefabInternal: {fileID: 100100000}
   serializedVersion: 4
   m_Component:
   - 224: {fileID: 22456320}
+  - 114: {fileID: 11481312}
+  - 114: {fileID: 11443188}
+  - 222: {fileID: 22252016}
+  - 114: {fileID: 11454192}
+  - 114: {fileID: 11486264}
   m_Layer: 5
   m_Name: Content
   m_TagString: Untagged
@@ -119,6 +144,83 @@
   m_EditorClassIdentifier: 
   m_Title: {fileID: 11464580}
   m_Content: {fileID: 22456320}
+--- !u!114 &11403752
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 173368}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 5
+    m_Right: 5
+    m_Top: 5
+    m_Bottom: 5
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 1
+--- !u!114 &11409628
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 153670}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 0
+  m_VerticalFit: 2
+--- !u!114 &11443188
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 182900}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 0
+  m_VerticalFit: 2
+--- !u!114 &11450476
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 173368}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_HorizontalFit: 0
+  m_VerticalFit: 2
+--- !u!114 &11452824
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 115950}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreLayout: 0
+  m_MinWidth: -1
+  m_MinHeight: -1
+  m_PreferredWidth: -1
+  m_PreferredHeight: 20
+  m_FlexibleWidth: -1
+  m_FlexibleHeight: -1
 --- !u!114 &11453036
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -131,6 +233,33 @@
   m_Name: 
   m_EditorClassIdentifier: 
   m_ElementType: 1
+--- !u!114 &11454192
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 182900}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+    m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
+      Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
+  m_Sprite: {fileID: 0}
+  m_Type: 0
+  m_PreserveAspect: 0
+  m_FillCenter: 1
+  m_FillMethod: 4
+  m_FillAmount: 1
+  m_FillClockwise: 1
+  m_FillOrigin: 0
 --- !u!114 &11457960
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -190,6 +319,26 @@
   m_FillAmount: 1
   m_FillClockwise: 1
   m_FillOrigin: 0
+--- !u!114 &11464560
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 153670}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 0
+    m_Right: 0
+    m_Top: 0
+    m_Bottom: 0
+  m_ChildAlignment: 0
+  m_Spacing: 0
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 0
 --- !u!114 &11464580
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -300,6 +449,26 @@
   m_Name: 
   m_EditorClassIdentifier: 
   m_ElementType: 3
+--- !u!114 &11481312
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 182900}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 1297475563, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Padding:
+    m_Left: 5
+    m_Right: 5
+    m_Top: 5
+    m_Bottom: 5
+  m_ChildAlignment: 0
+  m_Spacing: 2
+  m_ChildForceExpandWidth: 1
+  m_ChildForceExpandHeight: 0
 --- !u!114 &11482324
 MonoBehaviour:
   m_ObjectHideFlags: 1
@@ -352,6 +521,18 @@
         m_CallState: 2
     m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0,
       Culture=neutral, PublicKeyToken=null
+--- !u!114 &11486264
+MonoBehaviour:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 182900}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_ElementType: 2
 --- !u!222 &22224666
 CanvasRenderer:
   m_ObjectHideFlags: 1
@@ -370,6 +551,12 @@
   m_PrefabParentObject: {fileID: 0}
   m_PrefabInternal: {fileID: 100100000}
   m_GameObject: {fileID: 147848}
+--- !u!222 &22252016
+CanvasRenderer:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 182900}
 --- !u!222 &22254660
 CanvasRenderer:
   m_ObjectHideFlags: 1
@@ -399,6 +586,24 @@
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: .5, y: .5}
+--- !u!224 &22447524
+RectTransform:
+  m_ObjectHideFlags: 1
+  m_PrefabParentObject: {fileID: 0}
+  m_PrefabInternal: {fileID: 100100000}
+  m_GameObject: {fileID: 173368}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children:
+  - {fileID: 22456320}
+  m_Father: {fileID: 22461526}
+  m_RootOrder: 1
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: .5, y: .5}
 --- !u!224 &22456320
 RectTransform:
   m_ObjectHideFlags: 1
@@ -409,12 +614,12 @@
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
-  m_Father: {fileID: 22461526}
-  m_RootOrder: 1
+  m_Father: {fileID: 22447524}
+  m_RootOrder: 0
   m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: 0, y: -10}
-  m_SizeDelta: {x: 0, y: -20}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: .5, y: .5}
 --- !u!224 &22461526
 RectTransform:
@@ -427,13 +632,13 @@
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children:
   - {fileID: 22465080}
-  - {fileID: 22456320}
+  - {fileID: 22447524}
   m_Father: {fileID: 0}
   m_RootOrder: 0
   m_AnchorMin: {x: .5, y: .5}
   m_AnchorMax: {x: .5, y: .5}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 100, y: 100}
+  m_SizeDelta: {x: 100, y: 0}
   m_Pivot: {x: .5, y: .5}
 --- !u!224 &22465080
 RectTransform:
@@ -449,10 +654,10 @@
   - {fileID: 22498172}
   m_Father: {fileID: 22461526}
   m_RootOrder: 0
-  m_AnchorMin: {x: 0, y: 1}
-  m_AnchorMax: {x: 1, y: 1}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 0, y: 20}
+  m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: .5, y: 1}
 --- !u!224 &22474276
 RectTransform:
@@ -486,8 +691,8 @@
   m_RootOrder: 1
   m_AnchorMin: {x: 1, y: 0}
   m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: 0, y: 0}
-  m_SizeDelta: {x: 20, y: 0}
+  m_AnchoredPosition: {x: -2, y: 0}
+  m_SizeDelta: {x: 16, y: -4}
   m_Pivot: {x: 1, y: .5}
 --- !u!225 &22579498
 CanvasGroup:
@@ -506,7 +711,19 @@
   serializedVersion: 2
   m_Modification:
     m_TransformParent: {fileID: 0}
-    m_Modifications: []
+    m_Modifications:
+    - target: {fileID: 0}
+      propertyPath: m_Padding.m_Left
+      value: 5
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_Padding.m_Right
+      value: 5
+      objectReference: {fileID: 0}
+    - target: {fileID: 0}
+      propertyPath: m_Spacing
+      value: 2
+      objectReference: {fileID: 0}
     m_RemovedComponents: []
   m_ParentPrefab: {fileID: 0}
   m_RootGameObject: {fileID: 153670}

--- a/Assets/Scenes/main.unity
+++ b/Assets/Scenes/main.unity
@@ -85,93 +85,11 @@
     cellSize: .166666672
     manualCellSize: 0
   m_NavMeshData: {fileID: 0}
---- !u!1001 &26094925
-Prefab:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    m_TransformParent: {fileID: 1866791882}
-    m_Modifications:
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_LocalPosition.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_LocalPosition.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_LocalPosition.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_LocalRotation.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_LocalRotation.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_LocalRotation.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_RootOrder
-      value: 3
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_AnchoredPosition.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_AnchoredPosition.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_SizeDelta.x
-      value: 100
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_SizeDelta.y
-      value: 100
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_AnchorMin.x
-      value: .5
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_AnchorMin.y
-      value: .5
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_AnchorMax.x
-      value: .5
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_AnchorMax.y
-      value: .5
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_Pivot.x
-      value: .5
-      objectReference: {fileID: 0}
-    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-      propertyPath: m_Pivot.y
-      value: .5
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-  m_ParentPrefab: {fileID: 100100000, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
-  m_IsPrefabParent: 0
 --- !u!224 &26094926 stripped
 RectTransform:
   m_PrefabParentObject: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354,
     type: 2}
-  m_PrefabInternal: {fileID: 26094925}
+  m_PrefabInternal: {fileID: 1928878396}
 --- !u!1 &476101859
 GameObject:
   m_ObjectHideFlags: 0
@@ -397,7 +315,6 @@
   m_Children:
   - {fileID: 2037475081}
   - {fileID: 476101860}
-  - {fileID: 1980111597}
   - {fileID: 26094926}
   m_Father: {fileID: 0}
   m_RootOrder: 1
@@ -406,213 +323,132 @@
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0, y: 0}
---- !u!1001 &1980111596
+--- !u!1001 &1928878396
 Prefab:
   m_ObjectHideFlags: 0
   serializedVersion: 2
   m_Modification:
     m_TransformParent: {fileID: 1866791882}
     m_Modifications:
-    - target: {fileID: 22476196, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_LocalPosition.x
       value: 0
       objectReference: {fileID: 0}
-    - target: {fileID: 22476196, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_LocalPosition.y
       value: 0
       objectReference: {fileID: 0}
-    - target: {fileID: 22476196, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_LocalPosition.z
       value: 0
       objectReference: {fileID: 0}
-    - target: {fileID: 22476196, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_LocalRotation.x
       value: 0
       objectReference: {fileID: 0}
-    - target: {fileID: 22476196, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_LocalRotation.y
       value: 0
       objectReference: {fileID: 0}
-    - target: {fileID: 22476196, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_LocalRotation.z
       value: 0
       objectReference: {fileID: 0}
-    - target: {fileID: 22476196, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_LocalRotation.w
       value: 1
       objectReference: {fileID: 0}
-    - target: {fileID: 22476196, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_RootOrder
       value: 2
       objectReference: {fileID: 0}
-    - target: {fileID: 22476196, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_AnchoredPosition.x
       value: 0
       objectReference: {fileID: 0}
-    - target: {fileID: 22476196, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_AnchoredPosition.y
       value: 0
       objectReference: {fileID: 0}
-    - target: {fileID: 22476196, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_SizeDelta.x
-      value: 250
-      objectReference: {fileID: 0}
-    - target: {fileID: 22476196, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+      value: 100
+      objectReference: {fileID: 0}
+    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_SizeDelta.y
-      value: 70
-      objectReference: {fileID: 0}
-    - target: {fileID: 22476196, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+      value: 30
+      objectReference: {fileID: 0}
+    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_AnchorMin.x
       value: .5
       objectReference: {fileID: 0}
-    - target: {fileID: 22476196, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_AnchorMin.y
       value: .5
       objectReference: {fileID: 0}
-    - target: {fileID: 22476196, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_AnchorMax.x
       value: .5
       objectReference: {fileID: 0}
-    - target: {fileID: 22476196, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_AnchorMax.y
       value: .5
       objectReference: {fileID: 0}
-    - target: {fileID: 22476196, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_Pivot.x
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 22476196, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+      value: .5
+      objectReference: {fileID: 0}
+    - target: {fileID: 22461526, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_Pivot.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 22478174, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+      value: .5
+      objectReference: {fileID: 0}
+    - target: {fileID: 22456320, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_AnchorMin.y
       value: 1
       objectReference: {fileID: 0}
-    - target: {fileID: 22478174, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+    - target: {fileID: 22456320, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_AnchorMax.y
       value: 1
       objectReference: {fileID: 0}
-    - target: {fileID: 22478174, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+    - target: {fileID: 22456320, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_AnchoredPosition.x
-      value: 125
-      objectReference: {fileID: 0}
-    - target: {fileID: 22478174, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+      value: 50
+      objectReference: {fileID: 0}
+    - target: {fileID: 22456320, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_AnchoredPosition.y
-      value: -13
-      objectReference: {fileID: 0}
-    - target: {fileID: 22478174, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+      value: -25
+      objectReference: {fileID: 0}
+    - target: {fileID: 22456320, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_SizeDelta.x
-      value: 242
-      objectReference: {fileID: 0}
-    - target: {fileID: 22478174, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+      value: 100
+      objectReference: {fileID: 0}
+    - target: {fileID: 22456320, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_SizeDelta.y
-      value: 18
-      objectReference: {fileID: 0}
-    - target: {fileID: 22435482, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+      value: 10
+      objectReference: {fileID: 0}
+    - target: {fileID: 22465080, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_AnchorMin.y
       value: 1
       objectReference: {fileID: 0}
-    - target: {fileID: 22435482, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+    - target: {fileID: 22465080, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_AnchorMax.y
       value: 1
       objectReference: {fileID: 0}
-    - target: {fileID: 22435482, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+    - target: {fileID: 22465080, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_AnchoredPosition.x
-      value: 125
-      objectReference: {fileID: 0}
-    - target: {fileID: 22435482, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
-      propertyPath: m_AnchoredPosition.y
-      value: -25
-      objectReference: {fileID: 0}
-    - target: {fileID: 22435482, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+      value: 50
+      objectReference: {fileID: 0}
+    - target: {fileID: 22465080, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_SizeDelta.x
-      value: 242
-      objectReference: {fileID: 0}
-    - target: {fileID: 22435482, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
-      propertyPath: m_SizeDelta.y
-      value: 2
-      objectReference: {fileID: 0}
-    - target: {fileID: 22401100, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
-      propertyPath: m_AnchorMin.y
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 22401100, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
-      propertyPath: m_AnchorMax.y
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 22401100, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
-      propertyPath: m_AnchoredPosition.x
-      value: 125
-      objectReference: {fileID: 0}
-    - target: {fileID: 22401100, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
-      propertyPath: m_AnchoredPosition.y
-      value: -37
-      objectReference: {fileID: 0}
-    - target: {fileID: 22401100, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
-      propertyPath: m_SizeDelta.x
-      value: 242
-      objectReference: {fileID: 0}
-    - target: {fileID: 22401100, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
-      propertyPath: m_SizeDelta.y
-      value: 18
-      objectReference: {fileID: 0}
-    - target: {fileID: 22483410, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
-      propertyPath: m_AnchorMin.y
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 22483410, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
-      propertyPath: m_AnchorMax.y
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 22483410, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
-      propertyPath: m_AnchoredPosition.x
-      value: 125
-      objectReference: {fileID: 0}
-    - target: {fileID: 22483410, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
-      propertyPath: m_SizeDelta.x
-      value: 250
-      objectReference: {fileID: 0}
-    - target: {fileID: 22483410, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+      value: 100
+      objectReference: {fileID: 0}
+    - target: {fileID: 22465080, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
       propertyPath: m_SizeDelta.y
       value: 20
       objectReference: {fileID: 0}
-    - target: {fileID: 22475412, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
-      propertyPath: m_AnchorMin.y
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 22475412, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
-      propertyPath: m_AnchorMax.y
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 22475412, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
-      propertyPath: m_AnchoredPosition.x
-      value: 125
-      objectReference: {fileID: 0}
-    - target: {fileID: 22475412, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
-      propertyPath: m_AnchoredPosition.y
-      value: -45
-      objectReference: {fileID: 0}
-    - target: {fileID: 22475412, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
-      propertyPath: m_SizeDelta.x
-      value: 250
-      objectReference: {fileID: 0}
-    - target: {fileID: 22475412, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
-      propertyPath: m_SizeDelta.y
-      value: 50
-      objectReference: {fileID: 0}
-    - target: {fileID: 172308, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
-      propertyPath: m_Name
-      value: Text
-      objectReference: {fileID: 0}
     m_RemovedComponents: []
-  m_ParentPrefab: {fileID: 100100000, guid: 2a64d6ba13a07d7438fd2e141e4157a8, type: 2}
+  m_ParentPrefab: {fileID: 100100000, guid: 1146896f042c04546abd10ef08dc0354, type: 2}
   m_IsPrefabParent: 0
---- !u!224 &1980111597 stripped
-RectTransform:
-  m_PrefabParentObject: {fileID: 22476196, guid: 2a64d6ba13a07d7438fd2e141e4157a8,
-    type: 2}
-  m_PrefabInternal: {fileID: 1980111596}
 --- !u!1 &2037475080
 GameObject:
   m_ObjectHideFlags: 0

--- a/Documents/CHANGES.txt
+++ b/Documents/CHANGES.txt
@@ -1,21 +1,31 @@
+1.1.0.1, 2016-04-01, KSP Build #1179
+    Fixed: Heat shields acting as staged decouplers when not set to be staged.
+    Fixed: Enabling and disabling of decouplers in staging is now correctly handled.
+    Fixed: Issue in simulation staging that caused no deltaV above a fairing whilst landed.
+    Fixed: Fairing mass calculations to work using module mass only (Changed from 1.0.5).
+
+1.1.0.0, 2016-03-30, KSP Build #1171
     Added: Asset bundle loading and integration.
+    Added: Styling system so that Unity UI objects can use KSP stock styles.
+    Added: Unity UI window system.
     Changed: Thermal flux is now correctly indicated in kilowatts.
     Changed: Complete rewrite of code underpinning the stock toolbar icons.
     Changed: Flight Engineer toolbar menu recreated using Unity UI.
     Changed: Replaced occurances of IMGUI using RenderingManager to use OnGUI directly.
     Fixed: Toggling the 'Control Bar' now appropriately resizes the display stack.
-
-1.0.19.4, 12-02-16
+    Fixed: Part info tooltips in the editor remaining open when no part is selected.
+
+1.0.19.4, 2016-02-12
     Fixed: Only 'STAGE_STACK_FLOW' and 'STAGE_STACK_FLOW_BALANCE' resources include surface mounted parts as fuel targets.
     Fixed: Fairing mass being doubled in the VAB (removed workaround for a KSP bug which has been fixed).
 
-1.0.19.3, 09-02-16
+1.0.19.3, 2016-02-09
     Fixed: Fuel cross-feed from surface attached parts.
 
-1.0.19.2, 19-11-15
+1.0.19.2, 2016-11-19
     Rebuild for KSP 1.0.5.1028 silent update.
     
-1.0.19.1, 09-11-15
+1.0.19.1, 2016-11-09
     Added: Key binding editor accessible under 'Settings' on the Build Engineer.
     Added: Added current vessel name readout. (antplant)
     Added: 'Relative Radial Velocity' and 'Time To Rendezvous' readouts. (itwtx)
@@ -74,10 +84,10 @@
     Fixed: Thrust issues introduced with Sarbian's simulation alterations.
     Fixed: Issue where HUDs positioned close to the top/bottom of the screen could be pushed out of position.
 
-1.0.16.6, 02-05-15
+1.0.16.6, 2015-05-02
     Fixed: Separately staged fairing mass jettisons are now calculated in the editor.
 
-1.0.16.5, 02-05-2015
+1.0.16.5, 2015-05-02
     Fixed: Delta-V not being correctly calculated.
     Changed: Editor locking now uses the InputLockManager.
 
@@ -90,44 +100,44 @@
         Removed LINQ expressions.
         Converted foreach to for loops.
 
-1.0.16.3, 27-04-2015
+1.0.16.3, 2015-04-27
     Fixed issue with the toolbar icons not being created.
     Removed superfluous 'm/s' on the mach slider in the build engineer.
 
-1.0.16.2, 27-04-2015
+1.0.16.2, 2015-04-27
     Changed the atmospheric slider on the build engineer to default to 0km when changing bodies.
 
-1.0.16.1, 26-04-2015, KSP Build #828
+1.0.16.1, 2015-04-26, KSP Build #828
     Merged Sarbian's mach adjustments.
     Fixed bugs relating to thrust and atmosphere/velocity curves.
     Changed the atmospheric slider on the Build Engineer to work based on altitude.
     Changed the atmospheric slider to clamp to the maximum altitude for the selected body.
     Changed the velocity slider to clamp to the maximum usable mach value for the current vessel.
 
-1.0.16.0, 25-04-2015, KSP Build #821
+1.0.16.0, 2015-04-25, KSP Build #821
     Fixed errors relating to KSP 1.0 update.
     Fixed fuel simulation to account for new thrust system.
     Fixed atmospheric engines to use the new velocity curve.
     Fixed atmospheric readouts to work with the new atmospheric model.
 
-1.0.15.2, 13-02-2015
+1.0.15.2, 2015-02-13
     Padishar's Fixes:
         Fixed: Calculation of per-stage resource mass.
 
-1.0.15.1, 13-02-2015
+1.0.15.1, 2015-02-13
     Rebuild
 
-1.0.15.0, 08-02-2015
+1.0.15.0, 2015-02-08
     Padishar's Fixes:
         Added: Support KIDS ISP thrust correction.
         Fixed: Log spam for stage priority mode.
         Fixed: Locked tanks preventing simulation from staging.
         Fixed: No flow and all vessel modes to respect flow states.
 
-1.0.14.1, 28-12-2014
+1.0.14.1, 2014-12-28
     Fixed: Missing texture on the ER-7500 model.
 
-1.0.14.0, 28-12-2014
+1.0.14.0, 2014-12-28
     Added: Career mode that limits the Flight Engineer by:
         - Requiring an Engineer Kerbal of any level, or placement of an Engineer Chip or ER-7500 part.
         - Tracking station level 3 enables Flight Engineer everywhere.
@@ -144,10 +154,10 @@
     Fixed: Issue with the formatting large Mass and Cost values.
     Fixed: Error when loading the Engineer7500 part model.
 
-1.0.13.1, 16-12-2014
+1.0.13.1, 2014-12-16
     Fixed: Issue with manoeuvre node readouts and low tier tracking station.
 
-1.0.13.0, 16-12-2014
+1.0.13.0, 2014-12-16
     Updated for KSP version 0.90
 
     Added: New readouts to the vessel category:
@@ -160,7 +170,7 @@
     Fixed: Altitude (Terrain) will no longer give a reading below sea level.
     Fixed: Suicide burn now uses radar altitude that clamps to sea level.
 
-1.0.12.0, 01-12-2014
+1.0.12.0, 2014-12-01
     Added: Setting in Build Engineer to enable/disable vectored thrust calculations.
     Added: Thrust torque field in Build Engineer (courtesy of mic_e).
     Added: New readouts to the vessel category:
@@ -181,15 +191,15 @@
     Fixed: Issue where the vessel simulation can sometimes permanently freeze.
     Fixed: Issue where the vessel simulation would not show updates when the delay was set lower than the frame rate.
 
-1.0.11.3, 11-11-2014
+1.0.11.3, 2014-11-11
     Changed: Gravity measurements for Isp to 9.82.
 
-1.0.11.2, 10-11-2014
+1.0.11.2, 2014-11-10
     Changed: Gravity measurements for Isp calculations from 9.81 to 9.8066 for accuracy.
     Changed: Manoeuvre node burn times are now more accurate.
     Fixed: Bug in the manoeuvre node burn time calculations where it was not averaging acceleration correctly.
 
-1.0.11.1, 07-11-2014
+1.0.11.1, 2014-11-07
     Changed: Build Engineer now shows stage part count as well as total.
     Changed: Build Overlay Vessel tab data:
         DeltaV: stage / total
@@ -199,7 +209,7 @@
 
     Fixed: Issue with the vessel tab vanishing from the editor.
 
-1.0.11.0, 06-11-2014
+1.0.11.0, 201-11-06
     Added: New readouts to the orbital category:
         - Current SOI
         - Manoeuvre Node DeltaV (Prograde)
@@ -222,7 +232,7 @@
         Fixed: Issue with multicouplers when attached to parent by bottom node.
         Fixed: Issue with sepratrons on solid rocket boosters.
 
-1.0.10.0, 19-10-2014
+1.0.10.0, 2014-10-19
     UPDATE NOTICE: If you are updating from a previous version of Kerbal Engineer 1.0, please
     delete the 'Settings/SectionLibrary.xml' file, or remove the old install first.  This will
     reset the Flight Engineer sections to their default values and enable the new HUD functionality.
@@ -241,7 +251,7 @@
     Fixed: Bug in the phase angle calculations.
     Fixed: Bug where the Build Engineer would stay locked after hiding with the shortcut key.
 
-1.0.9.3, 08-10-2014
+1.0.9.3, 2014-10-08
     Added: Title of the build engineer in compact mode now shows if you are using atmospheric data.
     Added: New readout to the surface category:
         - Vertical Acceleration
@@ -251,16 +261,16 @@
     Changed: Atmospheric settings (pressure/velocity) in the editor condensed onto a single line.
     Fixed: Bug where the overlays in the editor would stay open outside of parts screen.
 
-1.0.9.2, 07-10-2014
+1.0.9.2, 2014-10-07
     Updated for KSP v0.25.0
     Changed: Prettyfied Latitude and Longitude readouts.
     Changed: ModuleLandingGear now uses the physical significance flag.
     Changed: Updated MiniAVC to 1.0.2.4.
 
-1.0.9.1, 17-09-2014
+1.0.9.1, 2014-09-17
     Fixed: Part size bug caused by TweakScale's cost calculator.
 
-1.0.9.0, 15-09-2014
+1.0.9.0, 2014-09-15
     Added: Build Engineer now also implements the '\' backslash show/hide shortcut.
     Added: New readouts to the vessel category:
         - Current Stage DeltaV
@@ -278,10 +288,10 @@
 
     Fixed: Cost calculation now works with mods implementing IPartCostModifier.
 
-1.0.8.1, 06-09-2014
+1.0.8.1, 2014-09-06
     Fixed: Bug which caused rendezvous readouts to freeze the game or show all zeros.
 
-1.0.8.0, 06-09-2014
+1.0.8.0, 2014-09-06
     Added: New readouts to the vessel category:
         - Intake Air (Usage)
 
@@ -292,14 +302,14 @@
     Fixed: An issue where deltaV would not be calculated whilst flying.
     Fixed: NullRef whilst loading the in flight Action Menu.
 
-1.0.7.1, 02-09-2014
+1.0.7.1, 2014-09-02
     Changed: Reversed Intake Air readout from 'S/D' to 'D/S' for easier reading.
     Changed: Increased Intake Air readout precision to 4 decimal places.
     Fixed: Issue where Intake Air supply was not representative of total supply.
     Fixed: Bug where actual thrust does not reset to zero on deactivated engines.
     Fixed: Thrust now scales with velocity for atmospheric engines. (Padishar's fix)
 
-1.0.7.0, 01-09-2014
+1.0.7.0, 2014-09-01
     Added: Part count information to the Build Engineer.
     Added: Reset button to the G-Force readout.
     Added: Preset system to the Flight Engineer.
@@ -335,7 +345,7 @@
     Fixed: Issues with large value wrap around in the Flight Engineer.
     Fixed: Bug in the phase angle calculation.
 
-1.0.6.0, 23-08-2014
+1.0.6.0, 2014-08-23
     Added: Time and Angle to equatorial ascending/descending nodes in the orbital display.
     Added: Time and Angle to relative ascending/descending nodes in the rendezvous display.
     Added: Overlay tooltip information delay adjustment slider to the Build Engineer settings.
@@ -345,7 +355,7 @@
     Changed: Licensing and readme structures are now more verbose to satisfy the new add-on rules.
     Fixed: Updated MiniAVC to v1.0.2.1 (fixes remote check bug as well as other minor bugs).
 
-1.0.5.0, 13-08-2014
+1.0.5.0, 2014-08-13
     Added: Acceleration readout to the Vessel category (current / maximum).
     Added: Category library system for the Flight Engineer readouts.
     Added: Drop-down category selection to better support the new system.
@@ -355,7 +365,7 @@
     Fixed: Flight Engineer toolbar menu now hides when hiding the GUI with F2.
     Fixed: Flight Engineer toolbar button now disables when in module mode and no engineer is running.
 
-1.0.4.0, 12-08-2014
+1.0.4.0, 2014-08-12
     Added: Better stock toolbar support in the flight engineer.
     Added: Dynamically generated celestial body library for supporting add-ons that modify the star system.
     Changed: Reference bodies are now listed with a nestable menu system.
@@ -365,7 +375,7 @@
     Changed: Increased Semi-major/minor axis precision to 3 decimal places.
     Fixed: Impact altitude was mistakenly formatted as an angle, it is now formatted correctly as a distance.
 
-1.0.3.0, 30-07-2014
+1.0.3.0, 2014-07-30
     Added: Integrated KSP-AVC support with MiniAVC.
     Added: Setting to change the simulation delay in the Build Engineer.
     Added: Setting to enable and disable the build overlay system.
@@ -376,7 +386,7 @@
     Fixed: Flickering in VAB and Vessel display.
     Fixed: Bug saving the GUI display size.
 
-1.0.2.0, 27-07-2014
+1.0.2.0, 2014-07-27
     Added: Separator readout module under Misc in the Flight Engineer.
     Added: Adjustable GUI display size.
     Added: Display size can be adjusted in the Build Engineer settings.
@@ -386,7 +396,7 @@
     Fixed: Engines that have a minimum thrust are now calculated properly. (Thanks to nosscire.)
     Fixed: Compact collapse mode is now saved in the Build Engineer.
 
-1.0.1.0, 26-07-2014
+1.0.1.0, 2014-07-26
     Added: Part-less Flight Engineer.
     Added: Ability to collapse the Build Engineer into compact mode from left or right.
     Added: Settings in Build Engineer for compact collapse mode and partless/module Flight Engineer.
@@ -399,11 +409,11 @@
     Changed: ER7500 part has no physical significance.
     Fixed: ActionMenu and DisplayStack destruction bug.
 
-1.0.0.1, 24-07-2014
+1.0.0.1, 2014-06-24
     Added: Stock toolbar support in the Flight Engineer.
     Changed: Orbital Period has higher precision.
     Fixed: Various NullRefs in editor window and overlay.
 
-1.0.0.0, 24-07-2014
+1.0.0.0, 2014-07-24
     Initial release for public testing.
 

--- a/KerbalEngineer.Unity/KerbalEngineer.Unity.csproj
+++ b/KerbalEngineer.Unity/KerbalEngineer.Unity.csproj
@@ -37,6 +37,7 @@
     <Compile Include="Flight\IFlightAppLauncher.cs" />
     <Compile Include="Flight\ISectionModule.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Setting.cs" />
     <Compile Include="UI\TextStyle.cs" />
     <Compile Include="UI\StyleApplicator.cs" />
     <Compile Include="UI\Window.cs" />

--- /dev/null
+++ b/KerbalEngineer.Unity/Setting.cs
@@ -1,1 +1,147 @@
+namespace KerbalEngineer.Unity
+{
+    using System;
+    using UnityEngine;
+    using UnityEngine.Events;
+    using UnityEngine.UI;
 
+    public class Setting : MonoBehaviour
+    {
+        [SerializeField]
+        private Text m_Label = null;
+
+        [SerializeField]
+        private Transform m_ButtonsTransform = null;
+
+        [SerializeField]
+        private GameObject m_SettingButtonPrefab = null;
+
+        [SerializeField]
+        private GameObject m_SettingTogglePrefab = null;
+
+        private Action m_OnUpdate;
+
+        public Button AddButton(string text, float width, UnityAction onClick)
+        {
+            Button button = null;
+
+            if (m_SettingButtonPrefab != null)
+            {
+                GameObject buttonObject = Instantiate(m_SettingButtonPrefab);
+                if (buttonObject != null)
+                {
+                    button = buttonObject.GetComponent<Button>();
+
+                    SetParentTransform(buttonObject, m_ButtonsTransform);
+                    SetWidth(buttonObject, width);
+                    SetText(buttonObject, text);
+                    SetButton(buttonObject, onClick);
+                }
+            }
+
+            return button;
+        }
+
+        public Toggle AddToggle(string text, float width, UnityAction<bool> onValueChanged)
+        {
+            Toggle toggle = null;
+
+            if (m_SettingTogglePrefab != null)
+            {
+                GameObject toggleObject = Instantiate(m_SettingTogglePrefab);
+                if (toggleObject != null)
+                {
+                    toggle = toggleObject.GetComponent<Toggle>();
+
+                    SetParentTransform(toggleObject, m_ButtonsTransform);
+                    SetWidth(toggleObject, width);
+                    SetText(toggleObject, text);
+                    SetToggle(toggleObject, onValueChanged);
+                }
+            }
+
+            return toggle;
+        }
+
+        public void AddUpdateHandler(Action onUpdate)
+        {
+            m_OnUpdate = onUpdate;
+        }
+
+        public void SetLabel(string text)
+        {
+            if (m_Label != null)
+            {
+                m_Label.text = text;
+            }
+        }
+
+        protected virtual void Update()
+        {
+            m_OnUpdate?.Invoke();
+        }
+
+        private static void SetButton(GameObject buttonObject, UnityAction onClick)
+        {
+            if (buttonObject != null)
+            {
+                Button button = buttonObject.GetComponent<Button>();
+                if (button != null)
+                {
+                    button.onClick.AddListener(onClick);
+                }
+            }
+        }
+
+        private static void SetParentTransform(GameObject childObject, Transform parentTransform)
+        {
+            if (childObject != null && parentTransform != null)
+            {
+                childObject.transform.SetParent(parentTransform, false);
+            }
+        }
+
+        private static void SetText(GameObject parentObject, string text)
+        {
+            if (parentObject != null)
+            {
+                Text textComponent = parentObject.GetComponentInChildren<Text>();
+                if (textComponent != null)
+                {
+                    textComponent.text = text;
+                }
+            }
+        }
+
+        private static void SetToggle(GameObject toggleObject, UnityAction<bool> onValueChanged)
+        {
+            if (toggleObject != null)
+            {
+                Toggle toggle = toggleObject.GetComponent<Toggle>();
+                if (toggle != null)
+                {
+                    toggle.onValueChanged.AddListener(onValueChanged);
+                }
+            }
+        }
+
+        private static void SetWidth(GameObject parentObject, float width)
+        {
+            if (parentObject != null)
+            {
+                LayoutElement layout = parentObject.GetComponent<LayoutElement>();
+                if (layout != null)
+                {
+                    if (width > 0.0f)
+                    {
+                        layout.preferredWidth = width;
+                    }
+                    else
+                    {
+                        layout.flexibleWidth = 1.0f;
+                    }
+                }
+            }
+        }
+    }
+}

--- a/KerbalEngineer.Unity/UI/StyleApplicator.cs
+++ b/KerbalEngineer.Unity/UI/StyleApplicator.cs
@@ -29,7 +29,8 @@
             Window,
             Box,
             Button,
-            ButtonToggle
+            ButtonToggle,
+            Label
         }
 
         [SerializeField]
@@ -66,20 +67,7 @@
         /// </summary>
         public void SetSelectable(TextStyle textStyle, Sprite normal, Sprite highlight, Sprite pressed, Sprite disabled)
         {
-            if (textStyle != null)
-            {
-                Text text = GetComponentInChildren<Text>();
-                if (text != null)
-                {
-                    if (textStyle.Font != null)
-                    {
-                        text.font = textStyle.Font;
-                    }
-                    text.fontStyle = textStyle.Style;
-                    text.fontSize = textStyle.Size;
-                    text.color = textStyle.Colour;
-                }
-            }
+            SetText(textStyle, GetComponentInChildren<Text>());
 
             Selectable selectable = GetComponent<Selectable>();
             if (selectable != null)
@@ -98,6 +86,14 @@
         }
 
         /// <summary>
+        ///     Sets the applicator to apply a style to an attached text component.
+        /// </summary>
+        public void SetText(TextStyle textStyle)
+        {
+            SetText(textStyle, GetComponent<Text>());
+        }
+
+        /// <summary>
         ///     Sets the applicator to apply the specified values to an attached toggle component.
         /// </summary>
         public void SetToggle(TextStyle textStyle, Sprite normal, Sprite highlight, Sprite pressed, Sprite disabled)
@@ -111,5 +107,24 @@
                 toggleImage.type = Image.Type.Sliced;
             }
         }
+
+        /// <summary>
+        ///     Sets the applicator to apply a style to the supplied text component.
+        /// </summary>
+        private static void SetText(TextStyle textStyle, Text textComponent)
+        {
+            if (textStyle == null || textComponent == null)
+            {
+                return;
+            }
+
+            if (textStyle.Font != null)
+            {
+                textComponent.font = textStyle.Font;
+            }
+            textComponent.fontSize = textStyle.Size;
+            textComponent.fontStyle = textStyle.Style;
+            textComponent.color = textStyle.Colour;
+        }
     }
 }

--- a/KerbalEngineer.Unity/UI/Window.cs
+++ b/KerbalEngineer.Unity/UI/Window.cs
@@ -65,22 +65,22 @@
         }
 
         /// <summary>
+        ///     Adds a game object as a child of the window content.
+        /// </summary>
+        public void AddToContent(GameObject childObject)
+        {
+            if (m_Content != null && childObject != null)
+            {
+                childObject.transform.SetParent(m_Content, false);
+            }
+        }
+
+        /// <summary>
         ///     Closes the window.
         /// </summary>
         public void Close()
         {
             ScaleFade(1.0f, 0.0f, () => Destroy(gameObject));
-        }
-
-        /// <summary>
-        ///     Sets the window size.
-        /// </summary>
-        public void SetSize(Vector2 size)
-        {
-            if (m_RectTransform != null)
-            {
-                m_RectTransform.sizeDelta = size;
-            }
         }
 
         /// <summary>
@@ -91,6 +91,19 @@
             if (m_Title != null)
             {
                 m_Title.text = title;
+            }
+        }
+
+        /// <summary>
+        ///     Sets the window size.
+        /// </summary>
+        public void SetWidth(float width)
+        {
+            if (m_RectTransform != null)
+            {
+                Vector2 size = m_RectTransform.sizeDelta;
+                size.x = width;
+                m_RectTransform.sizeDelta = size;
             }
         }
 

--- a/KerbalEngineer/AppLauncherButton.cs
+++ b/KerbalEngineer/AppLauncherButton.cs
@@ -24,7 +24,7 @@
 
     public class AppLauncherButton : MonoBehaviour
     {
-        private static Texture m_IconTexture;
+        private static Texture s_IconTexture;
         private ApplicationLauncherButton m_Button;
 
         /// <summary>
@@ -124,9 +124,9 @@
         protected virtual void Awake()
         {
             // cache icon texture
-            if (m_IconTexture == null && AssetBundleLoader.Images != null)
-            {
-                m_IconTexture = AssetBundleLoader.Images.LoadAsset<Texture2D>("app-launcher-icon");
+            if (s_IconTexture == null && AssetBundleLoader.Images != null)
+            {
+                s_IconTexture = AssetBundleLoader.Images.LoadAsset<Texture2D>("app-launcher-icon");
             }
 
             // subscribe event listeners
@@ -186,7 +186,7 @@
             // create button
             if (ApplicationLauncher.Instance != null)
             {
-                m_Button = ApplicationLauncher.Instance.AddModApplication(OnTrue, OnFalse, OnHover, OnHoverOut, OnEnable, OnDisable, ApplicationLauncher.AppScenes.ALWAYS, m_IconTexture);
+                m_Button = ApplicationLauncher.Instance.AddModApplication(OnTrue, OnFalse, OnHover, OnHoverOut, OnEnable, OnDisable, ApplicationLauncher.AppScenes.ALWAYS, s_IconTexture);
             }
 
             OnReady();

--- a/KerbalEngineer/AssetBundleLoader.cs
+++ b/KerbalEngineer/AssetBundleLoader.cs
@@ -23,8 +23,8 @@
     [KSPAddon(KSPAddon.Startup.Instantly, false)]
     public class AssetBundleLoader : MonoBehaviour
     {
-        private static AssetBundle m_Images;
-        private static AssetBundle m_Prefabs;
+        private static AssetBundle s_Images;
+        private static AssetBundle s_Prefabs;
 
         /// <summary>
         ///     Gets the loaded images asset bundle.
@@ -33,7 +33,7 @@
         {
             get
             {
-                return m_Images;
+                return s_Images;
             }
         }
 
@@ -44,7 +44,7 @@
         {
             get
             {
-                return m_Prefabs;
+                return s_Prefabs;
             }
         }
 
@@ -52,8 +52,8 @@
         {
             string bundlePath = EngineerGlobals.AssemblyPath;
 
-            m_Images = AssetBundle.CreateFromFile(bundlePath + "/images");
-            m_Prefabs = AssetBundle.CreateFromFile(bundlePath + "/prefabs");
+            s_Images = AssetBundle.CreateFromFile(bundlePath + "/images");
+            s_Prefabs = AssetBundle.CreateFromFile(bundlePath + "/prefabs");
         }
     }
 }

--- a/KerbalEngineer/Editor/BuildAdvanced.cs
+++ b/KerbalEngineer/Editor/BuildAdvanced.cs
@@ -24,6 +24,7 @@
     using KeyBinding;
     using Settings;
     using UIControls;
+    using Unity;
     using UnityEngine;
     using VesselSimulator;
 
@@ -811,6 +812,10 @@
                 // When not in compact mode draw the 'All Stages' and 'Atmospheric' toggles.
                 if (!compactMode)
                 {
+                    //if (GUI.Button(new Rect(position.width - 143.0f * GuiDisplaySize.Offset, 5.0f, 70.0f * GuiDisplaySize.Offset, 20.0f), "SETTINGS", buttonStyle))
+                    //{
+                    //    SettingsWindow.Open();
+                    //}
                     if (GUI.Toggle(new Rect(position.width - 143.0f * GuiDisplaySize.Offset, 5.0f, 70.0f * GuiDisplaySize.Offset, 20.0f), showSettings, "SETTINGS", buttonStyle) != showSettings)
                     {
                         hasChanged = true;

--- a/KerbalEngineer/Editor/BuildOverlayPartInfo.cs
+++ b/KerbalEngineer/Editor/BuildOverlayPartInfo.cs
@@ -1,7 +1,7 @@
 // 
 //     Kerbal Engineer Redux
 // 
-//     Copyright (C) 2014 CYBUTEK
+//     Copyright (C) 2016 CYBUTEK
 // 
 //     This program is free software: you can redistribute it and/or modify
 //     it under the terms of the GNU General Public License as published by
@@ -12,10 +12,9 @@
 //     but WITHOUT ANY WARRANTY; without even the implied warranty of
 //     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 //     GNU General Public License for more details.
-// 
 //     You should have received a copy of the GNU General Public License
 //     along with this program.  If not, see <http://www.gnu.org/licenses/>.
-// 
+//  
 
 namespace KerbalEngineer.Editor
 {
@@ -102,7 +101,7 @@
                     return;
                 }
 
-                position = GUILayout.Window(GetInstanceID(), position, Window, String.Empty, BuildOverlay.WindowStyle);
+                position = GUILayout.Window(GetInstanceID(), position, Window, string.Empty, BuildOverlay.WindowStyle);
             }
             catch (Exception ex)
 
@@ -131,7 +130,16 @@
                     position.x = Input.mousePosition.x - 3 - position.width;
                 }
 
-                part = EditorLogic.fetch.ship.parts.Find(p => p.stackIcon.Highlighted) ?? EditorLogic.SelectedPart;
+                RaycastHit rayHit;
+                if (Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out rayHit))
+                {
+                    part = rayHit.transform.GetComponent<Part>();
+                }
+                else
+                {
+                    part = EditorLogic.fetch.ship.parts.Find(p => p.highlighter.highlighted) ?? EditorLogic.SelectedPart;
+                }
+
                 if (part != null)
                 {
                     if (!part.Equals(selectedPart))

--- a/KerbalEngineer/EngineerGlobals.cs
+++ b/KerbalEngineer/EngineerGlobals.cs
@@ -25,7 +25,7 @@
         /// <summary>
         ///     Current version of the Kerbal Engineer assembly.
         /// </summary>
-        public const string ASSEMBLY_VERSION = "1.0.19.4";
+        public const string ASSEMBLY_VERSION = "1.1.0.1";
 
         private static string assemblyFile;
         private static string assemblyName;

--- a/KerbalEngineer/Extensions/PartExtensions.cs
+++ b/KerbalEngineer/Extensions/PartExtensions.cs
@@ -572,6 +572,7 @@
 
             public double EjectionForce { get; private set; }
             public bool IsOmniDecoupler { get; private set; }
+            public bool IsStageEnabled { get; private set; }
 
             private void SetModuleAnchoredDecoupler()
             {
@@ -582,6 +583,7 @@
                 }
 
                 EjectionForce = decoupler.ejectionForce;
+                IsStageEnabled = decoupler.stagingEnabled;
             }
 
             private void SetModuleDecouple()
@@ -594,6 +596,7 @@
 
                 EjectionForce = decoupler.ejectionForce;
                 IsOmniDecoupler = decoupler.isOmniDecoupler;
+                IsStageEnabled = decoupler.stagingEnabled;
             }
         }
 

--- a/KerbalEngineer/Flight/FlightEngineerModule.cs
+++ b/KerbalEngineer/Flight/FlightEngineerModule.cs
@@ -23,8 +23,17 @@
 
 namespace KerbalEngineer.Flight
 {
+    using VesselSimulator;
+
     /// <summary>
     ///     Module that can be attached to parts, giving them FlightEngineerCore management.
     /// </summary>
-    public class FlightEngineerModule : PartModule { }
+    public class FlightEngineerModule : PartModule
+    {
+        [KSPEvent(guiName = "Verbose Simulation Log", guiActive = true, guiActiveEditor = true)]
+        public void SimulationDump()
+        {
+            SimManager.logOutput = true;
+        }
+    }
 }

--- a/KerbalEngineer/Flight/Readouts/Vessel/DeltaVStaged.cs
+++ b/KerbalEngineer/Flight/Readouts/Vessel/DeltaVStaged.cs
@@ -28,6 +28,8 @@
 
 namespace KerbalEngineer.Flight.Readouts.Vessel
 {
+    using KSP.UI.Screens;
+
     public class DeltaVStaged : ReadoutModule
     {
         #region Constructors
@@ -51,7 +53,7 @@
                 return;
             }
 
-            foreach (var stage in SimulationProcessor.Stages.Where(stage => stage.deltaV > 0 || stage.number == Staging.CurrentStage))
+            foreach (var stage in SimulationProcessor.Stages.Where(stage => stage.deltaV > 0 || stage.number == StageManager.CurrentStage))
             {
                 this.DrawLine("DeltaV (S" + stage.number + ")", stage.deltaV.ToString("N0") + "m/s (" + TimeFormatter.ConvertToString(stage.time) + ")", section.IsHud);
             }

--- a/KerbalEngineer/Flight/Readouts/Vessel/SuicideBurnProcessor.cs
+++ b/KerbalEngineer/Flight/Readouts/Vessel/SuicideBurnProcessor.cs
@@ -17,32 +17,16 @@
 //     along with this program.  If not, see <http://www.gnu.org/licenses/>.
 // 
 
-#region Using Directives
-
-
-
-#endregion
-
 namespace KerbalEngineer.Flight.Readouts.Vessel
 {
-    #region Using Directives
-
     using System;
-
-    #endregion
 
     public class SuicideBurnProcessor : IUpdatable, IUpdateRequest
     {
-        #region Fields
-
-        private static readonly SuicideBurnProcessor instance = new SuicideBurnProcessor();
-        private double acceleration;
-        private double gravity;
-        private double radarAltitude;
-
-        #endregion
-
-        #region Properties
+        private static readonly SuicideBurnProcessor s_Instance = new SuicideBurnProcessor();
+        private double m_Acceleration;
+        private double m_Gravity;
+        private double m_RadarAltitude;
 
         public static double Altitude { get; private set; }
 
@@ -52,50 +36,48 @@
 
         public static SuicideBurnProcessor Instance
         {
-            get { return instance; }
+            get
+            {
+                return s_Instance;
+            }
         }
 
         public static bool ShowDetails { get; set; }
 
+        public void Update()
+        {
+            if (FlightGlobals.currentMainBody == null || FlightGlobals.ActiveVessel == null || SimulationProcessor.LastStage == null ||
+                FlightGlobals.ship_orbit.PeA >= 0.0 || !SimulationProcessor.ShowDetails)
+            {
+                ShowDetails = false;
+                return;
+            }
+
+            m_Gravity = FlightGlobals.currentMainBody.gravParameter / Math.Pow(FlightGlobals.currentMainBody.Radius, 2.0);
+            m_Acceleration = SimulationProcessor.LastStage.thrust / SimulationProcessor.LastStage.totalMass;
+            m_RadarAltitude = FlightGlobals.ActiveVessel.terrainAltitude > 0.0
+                ? FlightGlobals.ship_altitude - FlightGlobals.ActiveVessel.terrainAltitude
+                : FlightGlobals.ship_altitude;
+
+            DeltaV = Math.Sqrt((2 * m_Gravity * m_RadarAltitude) + Math.Pow(FlightGlobals.ship_verticalSpeed, 2.0));
+            Altitude = Math.Pow(DeltaV, 2.0) / (2.0 * m_Acceleration);
+            Distance = m_RadarAltitude - Altitude;
+
+            ShowDetails = !double.IsInfinity(Distance);
+        }
+
         public bool UpdateRequested { get; set; }
-
-        #endregion
-
-        #region Methods
 
         public static void RequestUpdate()
         {
-            instance.UpdateRequested = true;
+            s_Instance.UpdateRequested = true;
             SimulationProcessor.RequestUpdate();
         }
 
         public static void Reset()
         {
             FlightEngineerCore.Instance.AddUpdatable(SimulationProcessor.Instance);
-            FlightEngineerCore.Instance.AddUpdatable(instance);
+            FlightEngineerCore.Instance.AddUpdatable(s_Instance);
         }
-
-        public void Update()
-        {
-            if (FlightGlobals.ship_orbit.PeA >= 0.0 || !SimulationProcessor.ShowDetails)
-            {
-                ShowDetails = false;
-                return;
-            }
-
-            this.gravity = FlightGlobals.currentMainBody.gravParameter / Math.Pow(FlightGlobals.currentMainBody.Radius, 2.0);
-            this.acceleration = SimulationProcessor.LastStage.thrust / SimulationProcessor.LastStage.totalMass;
-            this.radarAltitude = FlightGlobals.ActiveVessel.terrainAltitude > 0.0
-                ? FlightGlobals.ship_altitude - FlightGlobals.ActiveVessel.terrainAltitude
-                : FlightGlobals.ship_altitude;
-
-            DeltaV = Math.Sqrt((2 * this.gravity * this.radarAltitude) + Math.Pow(FlightGlobals.ship_verticalSpeed, 2.0));
-            Altitude = Math.Pow(DeltaV, 2.0) / (2.0 * this.acceleration);
-            Distance = this.radarAltitude - Altitude;
-
-            ShowDetails = !Double.IsInfinity(Distance);
-        }
-
-        #endregion
     }
 }

--- a/KerbalEngineer/Flight/Readouts/Vessel/SurfaceThrustToWeight.cs
+++ b/KerbalEngineer/Flight/Readouts/Vessel/SurfaceThrustToWeight.cs
@@ -1,7 +1,7 @@
 // 
 //     Kerbal Engineer Redux
 // 
-//     Copyright (C) 2014 CYBUTEK
+//     Copyright (C) 2016 CYBUTEK
 // 
 //     This program is free software: you can redistribute it and/or modify
 //     it under the terms of the GNU General Public License as published by
@@ -12,55 +12,41 @@
 //     but WITHOUT ANY WARRANTY; without even the implied warranty of
 //     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 //     GNU General Public License for more details.
-// 
 //     You should have received a copy of the GNU General Public License
 //     along with this program.  If not, see <http://www.gnu.org/licenses/>.
-// 
-
-#region Using Directives
-
-using System;
-
-using KerbalEngineer.Flight.Sections;
-
-#endregion
+//  
 
 namespace KerbalEngineer.Flight.Readouts.Vessel
 {
+    using System;
+    using Sections;
+
     public class SurfaceThrustToWeight : ReadoutModule
     {
-        #region Fields
-
-        private string actual = string.Empty;
-        private double gravity;
-        private string total = string.Empty;
-
-        #endregion
-
-        #region Constructors
+        private string m_Actual = string.Empty;
+        private double m_Gravity;
+        private string m_Total = string.Empty;
 
         public SurfaceThrustToWeight()
         {
-            this.Name = "Surface Thrust to Weight Ratio";
-            this.Category = ReadoutCategory.GetCategory("Vessel");
-            this.HelpString = "Shows the vessel's surface thrust to weight ratio.";
-            this.IsDefault = true;
+            Name = "Surface Thrust to Weight Ratio";
+            Category = ReadoutCategory.GetCategory("Vessel");
+            HelpString = "Shows the vessel's surface thrust to weight ratio.";
+            IsDefault = true;
         }
-
-        #endregion
-
-        #region Methods: public
 
         public override void Draw(SectionModule section)
         {
-            if (!SimulationProcessor.ShowDetails)
+            if (FlightGlobals.currentMainBody == null || SimulationProcessor.LastStage == null ||
+                !SimulationProcessor.ShowDetails)
             {
                 return;
             }
-            this.gravity = FlightGlobals.currentMainBody.gravParameter / Math.Pow(FlightGlobals.currentMainBody.Radius, 2);
-            this.actual = (SimulationProcessor.LastStage.actualThrust / (SimulationProcessor.LastStage.totalMass * this.gravity)).ToString("F2");
-            this.total = (SimulationProcessor.LastStage.thrust / (SimulationProcessor.LastStage.totalMass * this.gravity)).ToString("F2");
-            this.DrawLine("TWR (Surface)", this.actual + " / " + this.total, section.IsHud);
+
+            m_Gravity = FlightGlobals.currentMainBody.gravParameter / Math.Pow(FlightGlobals.currentMainBody.Radius, 2);
+            m_Actual = (SimulationProcessor.LastStage.actualThrust / (SimulationProcessor.LastStage.totalMass * m_Gravity)).ToString("F2");
+            m_Total = (SimulationProcessor.LastStage.thrust / (SimulationProcessor.LastStage.totalMass * m_Gravity)).ToString("F2");
+            DrawLine("TWR (Surface)", m_Actual + " / " + m_Total, section.IsHud);
         }
 
         public override void Reset()
@@ -72,7 +58,5 @@
         {
             SimulationProcessor.RequestUpdate();
         }
-
-        #endregion
     }
 }

--- a/KerbalEngineer/KerbalEngineer.csproj
+++ b/KerbalEngineer/KerbalEngineer.csproj
@@ -155,6 +155,7 @@
     <Compile Include="KeyBinding\KeyBinder.cs" />
     <Compile Include="Control\ControlCentre.cs" />
     <Compile Include="KeyBinding\KeyBindingsObject.cs" />
+    <Compile Include="Settings\SettingsWindow.cs" />
     <Compile Include="StyleManager.cs" />
     <Compile Include="UIControls\DropDown.cs" />
     <Compile Include="Logger.cs" />

--- a/KerbalEngineer/LogMsg.cs
+++ b/KerbalEngineer/LogMsg.cs
@@ -1,6 +1,4 @@
 using System.Text;
-
-using UnityEngine;
 
 namespace KerbalEngineer
 {
@@ -16,7 +14,9 @@
         public void Flush()
         {
             if (this.buf.Length > 0)
-                MonoBehaviour.print(this.buf);
+            {
+                Logger.Log(this.buf);
+            }
             this.buf.Length = 0;
         }
     }

--- a/KerbalEngineer/Logger.cs
+++ b/KerbalEngineer/Logger.cs
@@ -19,31 +19,30 @@
 
 #region Using Directives
 
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.IO;
-using System.Reflection;
-
-using UnityEngine;
-
 #endregion
 
 namespace KerbalEngineer
 {
+    using System;
+    using System.Collections;
+    using System.Collections.Generic;
+    using System.IO;
+    using System.Reflection;
+    using UnityEngine;
+
     [KSPAddon(KSPAddon.Startup.Instantly, false)]
     public class Logger : MonoBehaviour
     {
+        #region Fields
+
+        private static readonly List<string[]> messages = new List<string[]>();
+
+        #endregion
+
         #region Constants
 
         private static readonly string fileName;
         private static readonly AssemblyName assemblyName;
-
-        #endregion
-
-        #region Fields
-
-        private static readonly List<string[]> messages = new List<string[]>();
 
         #endregion
 
@@ -86,50 +85,58 @@
             {
                 try
                 {
-                    if (obj is IEnumerable)
+                    messages.Add(new[] {"Log " + DateTime.Now.TimeOfDay, GetObjString(obj)});
+                }
+                catch (Exception ex)
+                {
+                    Exception(ex);
+                }
+            }
+        }
+
+        public static void Log(string name, object obj)
+        {
+            lock (messages)
+            {
+                try
+                {
+                    messages.Add(new[] {"Log " + DateTime.Now.TimeOfDay, name + "\n" + GetObjString(obj)});
+                }
+                catch (Exception ex)
+                {
+                    Exception(ex);
+                }
+            }
+        }
+
+        private static string GetObjString(object obj, int tabs = 0)
+        {
+            string objString;
+            string tabString = string.Empty;
+            for (int i = 0; i < tabs; i++)
+            {
+                tabString += " ";
+            }
+
+            if (obj != null)
+            {
+                objString = tabString + obj;
+
+                IEnumerable items = obj as IEnumerable;
+                if (items != null)
+                {
+                    foreach (object item in items)
                     {
-                        messages.Add(new[] {"Log " + DateTime.Now.TimeOfDay, obj.ToString()});
-                        foreach (var o in obj as IEnumerable)
-                        {
-                            messages.Add(new[] {"\t", o.ToString()});
-                        }
+                        objString += "\n" + GetObjString(item, tabs + 1);
                     }
-                    else
-                    {
-                        messages.Add(new[] {"Log " + DateTime.Now.TimeOfDay, obj.ToString()});
-                    }
-                }
-                catch (Exception ex)
-                {
-                    Exception(ex);
-                }
-            }
-        }
-
-        public static void Log(string name, object obj)
-        {
-            lock (messages)
-            {
-                try
-                {
-                    if (obj is IEnumerable)
-                    {
-                        messages.Add(new[] {"Log " + DateTime.Now.TimeOfDay, name});
-                        foreach (var o in obj as IEnumerable)
-                        {
-                            messages.Add(new[] {"\t", o.ToString()});
-                        }
-                    }
-                    else
-                    {
-                        messages.Add(new[] {"Log " + DateTime.Now.TimeOfDay, obj.ToString()});
-                    }
-                }
-                catch (Exception ex)
-                {
-                    Exception(ex);
-                }
-            }
+                }
+            }
+            else
+            {
+                objString = "Null";
+            }
+
+            return objString;
         }
 
         public static void Log(string message)
@@ -186,9 +193,9 @@
             {
                 if (messages.Count > 0)
                 {
-                    using (var file = File.AppendText(fileName))
+                    using (StreamWriter file = File.AppendText(fileName))
                     {
-                        foreach (var message in messages)
+                        foreach (string[] message in messages)
                         {
                             file.WriteLine(message.Length > 0 ? message.Length > 1 ? "[" + message[0] + "]: " + message[1] : message[0] : string.Empty);
                             if (message.Length > 0)

--- /dev/null
+++ b/KerbalEngineer/Settings/SettingsWindow.cs
@@ -1,1 +1,112 @@
+namespace KerbalEngineer.Settings
+{
+    using System;
+    using Editor;
+    using Flight;
+    using KeyBinding;
+    using Unity;
+    using Unity.UI;
+    using UnityEngine;
+    using UnityEngine.Events;
+    using UnityEngine.UI;
 
+    public class SettingsWindow : MonoBehaviour
+    {
+        private static Window m_Window;
+
+        public static void Close()
+        {
+            if (m_Window != null)
+            {
+                m_Window.Close();
+            }
+        }
+
+        public static void Open()
+        {
+            if (m_Window == null)
+            {
+                m_Window = StyleManager.CreateWindow("SETTINGS", 600.0f);
+
+                AddKeyBindingsButton();
+                AddFlightActivationModes();
+                AddBuildOverlayOptions();
+
+                StyleManager.Process(m_Window);
+            }
+        }
+
+        private static void AddBuildOverlayOptions()
+        {
+            if (m_Window != null)
+            {
+                Setting buildOverlay = StyleManager.CreateSetting("Build Engineer Overlay", m_Window);
+                Toggle buildOverlayVisible = AddToggle(buildOverlay, "VISIBLE", 100.0f, value => BuildOverlay.Visible = value);
+                Toggle buildOverlayNamesOnly = AddToggle(buildOverlay, "NAMES ONLY", 100.0f, value => BuildOverlayPartInfo.NamesOnly = value);
+                Toggle buildOverlayClickToOpen = AddToggle(buildOverlay, "CLICK TO OPEN", 100.0f, value => BuildOverlayPartInfo.ClickToOpen = value);
+                AddUpdateHandler(buildOverlay, () =>
+                {
+                    buildOverlayVisible.isOn = BuildOverlay.Visible;
+                    buildOverlayNamesOnly.isOn = BuildOverlayPartInfo.NamesOnly;
+                    buildOverlayClickToOpen.isOn = BuildOverlayPartInfo.ClickToOpen;
+                });
+            }
+        }
+
+        private static Button AddButton(Setting setting, string text, float width, UnityAction onClick)
+        {
+            Button button = null;
+
+            if (setting != null)
+            {
+                button = setting.AddButton(text, width, onClick);
+            }
+
+            return button;
+        }
+
+        private static void AddFlightActivationModes()
+        {
+            if (m_Window != null)
+            {
+                Setting flightActivationMode = StyleManager.CreateSetting("Flight Engineer Activation Mode", m_Window);
+                Toggle flightActivationModeCareer = AddToggle(flightActivationMode, "CAREER", 100.0f, value => FlightEngineerCore.IsCareerMode = value);
+                Toggle flightActivationModePartless = AddToggle(flightActivationMode, "PARTLESS", 100.0f, value => FlightEngineerCore.IsCareerMode = !value);
+                AddUpdateHandler(flightActivationMode, () =>
+                {
+                    flightActivationModeCareer.isOn = FlightEngineerCore.IsCareerMode;
+                    flightActivationModePartless.isOn = !FlightEngineerCore.IsCareerMode;
+                });
+            }
+        }
+
+        private static void AddKeyBindingsButton()
+        {
+            if (m_Window != null)
+            {
+                Setting keyBindings = StyleManager.CreateSetting("Key Bindings", m_Window);
+                AddButton(keyBindings, "EDIT KEY BINDINGS", 304.0f, KeyBinder.Show);
+            }
+        }
+
+        private static Toggle AddToggle(Setting setting, string text, float width, UnityAction<bool> onValueChanged)
+        {
+            Toggle toggle = null;
+
+            if (setting != null)
+            {
+                toggle = setting.AddToggle(text, width, onValueChanged);
+            }
+
+            return toggle;
+        }
+
+        private static void AddUpdateHandler(Setting setting, Action onUpdate)
+        {
+            if (setting != null && onUpdate != null)
+            {
+                setting.AddUpdateHandler(onUpdate);
+            }
+        }
+    }
+}

--- a/KerbalEngineer/StyleManager.cs
+++ b/KerbalEngineer/StyleManager.cs
@@ -18,18 +18,47 @@
 
 namespace KerbalEngineer
 {
+    using Unity;
     using Unity.UI;
     using UnityEngine;
     using UnityEngine.UI;
 
     public static class StyleManager
     {
-        private static GameObject m_WindowPrefab;
+        private static GameObject s_WindowPrefab;
+        private static GameObject s_SettingPrefab;
+
+        /// <summary>
+        ///     Creates a setting on the supplied window.
+        /// </summary>
+        public static Setting CreateSetting(string label, Window window)
+        {
+            Setting setting = null;
+
+            GameObject settingPrefab = GetSettingPrefab();
+
+            if (settingPrefab != null && window != null)
+            {
+                GameObject settingObject = Object.Instantiate(settingPrefab);
+
+                if (settingObject != null)
+                {
+                    setting = settingObject.GetComponent<Setting>();
+                    if (setting != null)
+                    {
+                        setting.SetLabel(label);
+                        window.AddToContent(settingObject);
+                    }
+                }
+            }
+
+            return setting;
+        }
 
         /// <summary>
         ///     Creates and returns a new window object.
         /// </summary>
-        public static Window CreateWindow(string title, Vector2 size)
+        public static Window CreateWindow(string title, float width)
         {
             GameObject windowPrefab = GetWindowPrefab();
             if (windowPrefab == null)
@@ -54,14 +83,14 @@
             if (window != null)
             {
                 window.SetTitle(title);
-                window.SetSize(size);
+                window.SetWidth(width);
             }
 
             return window;
         }
 
         /// <summary>
-        ///     Processes all of the theme applicators on the supplied game object.
+        ///     Processes all of the style applicators on the supplied game object.
         /// </summary>
         public static void Process(GameObject gameObject)
         {
@@ -82,6 +111,30 @@
         }
 
         /// <summary>
+        ///     Processes all the style applicators on the supplied component's game object.
+        /// </summary>
+        public static void Process(Component component)
+        {
+            if (component != null)
+            {
+                Process(component.gameObject);
+            }
+        }
+
+        /// <summary>
+        ///     Gets a setting prefab object.
+        /// </summary>
+        private static GameObject GetSettingPrefab()
+        {
+            if (s_SettingPrefab == null)
+            {
+                s_SettingPrefab = AssetBundleLoader.Prefabs.LoadAsset<GameObject>("Setting");
+            }
+
+            return s_SettingPrefab;
+        }
+
+        /// <summary>
         ///     Gets a new ThemeTextStyle created from KSP UIStyle and UIStyleState objects.
         /// </summary>
         private static TextStyle GetTextStyle(UIStyle style, UIStyleState styleState)
@@ -108,12 +161,12 @@
         /// </summary>
         private static GameObject GetWindowPrefab()
         {
-            if (m_WindowPrefab == null)
-            {
-                m_WindowPrefab = AssetBundleLoader.Prefabs.LoadAsset<GameObject>("Window");
-            }
-
-            return m_WindowPrefab;
+            if (s_WindowPrefab == null)
+            {
+                s_WindowPrefab = AssetBundleLoader.Prefabs.LoadAsset<GameObject>("Window");
+            }
+
+            return s_WindowPrefab;
         }
 
         /// <summary>
@@ -157,6 +210,10 @@
                         skin.button.active.background,
                         skin.button.disabled.background);
                     break;
+
+                case StyleApplicator.ElementTypes.Label:
+                    applicator.SetText(GetTextStyle(skin.label, skin.label.normal));
+                    break;
             }
         }
     }

--- a/KerbalEngineer/VesselSimulator/PartSim.cs
+++ b/KerbalEngineer/VesselSimulator/PartSim.cs
@@ -417,9 +417,9 @@
                 mass += resources.GetResourceMass(resources.Types[i]);
             }
 
-            if (isFairing && currentStage <= inverseStage)
-            {
-                mass -= fairingMass;
+            if (isFairing && currentStage > inverseStage)
+            {
+                mass += fairingMass;
             }
 
             return mass;
@@ -777,8 +777,7 @@
 
         private bool IsDecoupler(Part thePart)
         {
-            return thePart.HasModule<ModuleDecouple>() ||
-                   thePart.HasModule<ModuleAnchoredDecoupler>();
+            return thePart.GetProtoModuleDecoupler()?.IsStageEnabled ?? false;
         }
 
         private bool IsFairing(Part thePart)

--- a/KerbalEngineer/VesselSimulator/Simulation.cs
+++ b/KerbalEngineer/VesselSimulator/Simulation.cs
@@ -34,6 +34,7 @@
     using CompoundParts;
     using Extensions;
     using Helpers;
+    using KSP.UI.Screens;
 
     public class Simulation
     {
@@ -147,7 +148,7 @@
             this.gravity = theGravity;
             this.atmosphere = theAtmosphere;
             this.mach = theMach;
-            this.lastStage = Staging.lastStage;
+            this.lastStage = StageManager.LastStage;
             this.maxMach = 1.0f;
             //MonoBehaviour.print("lastStage = " + lastStage);
 

 Binary files a/Output/KerbalEngineer/KerbalEngineer and b/Output/KerbalEngineer/KerbalEngineer differ
 Binary files a/Output/KerbalEngineer/KerbalEngineer.Unity.dll and b/Output/KerbalEngineer/KerbalEngineer.Unity.dll differ
 Binary files a/Output/KerbalEngineer/KerbalEngineer.dll and b/Output/KerbalEngineer/KerbalEngineer.dll differ
--- a/Output/KerbalEngineer/KerbalEngineer.version
+++ b/Output/KerbalEngineer/KerbalEngineer.version
@@ -4,9 +4,9 @@
 	"VERSION":
 	{
 		"MAJOR":1,
-		"MINOR":0,
-		"PATCH":19,
-		"BUILD":4
+		"MINOR":1,
+		"PATCH":0,
+		"BUILD":1
 	},
 	"KSP_VERSION":
 	{

--- a/Output/KerbalEngineer/Parts/Engineer7500/part.cfg
+++ b/Output/KerbalEngineer/Parts/Engineer7500/part.cfg
@@ -14,12 +14,13 @@
 	// --- editor parameters ---
 	TechRequired = start
 	entryCost = 0
-	cost = 500
+	cost = 150
 	category = Science
 	subcategory = 0
 	title = ER-7500 Computer Flight Unit
 	manufacturer = CYBUTEK Solutions Ltd.
-	description = The ER-7500 goes back to roots with the Kerbal Engineering System.  This unit has been proven to be at least 1x10^-5 times faster than a standard hard drive.
+	description = The ER-7500 goes back to roots with the Kerbal Engineering System. This unit has been proven to be at least 1x10^-5 times faster than a standard hard drive... Don't tell anyone but it's actually just the chip version in a fancy box with flashing lights and spinny things.
+    tags = ker engi redux compu flight tape
 
 	// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
 	attachRules = 0,1,0,1,1

--- a/Output/KerbalEngineer/Parts/EngineerChip/part.cfg
+++ b/Output/KerbalEngineer/Parts/EngineerChip/part.cfg
@@ -22,12 +22,13 @@
 	// --- editor parameters ---
 	TechRequired = start
   	entryCost = 0
-	cost = 350
+	cost = 100
 	category = Science
 	subcategory = 0
 	title = Kerbal Engineering System
 	manufacturer = CYBUTEK Solutions Ltd.
 	description = The Kerbal Engineering System boasts an impressive 128bits of solid state storage and enough processing power to run at least 3 digital watches.
+    tags = ker engi redux compu flight chip
 
 	// attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision
 	attachRules = 0,1,0,1,1

 Binary files a/Output/KerbalEngineer/prefabs and b/Output/KerbalEngineer/prefabs differ
--- a/Output/KerbalEngineer/prefabs.manifest
+++ b/Output/KerbalEngineer/prefabs.manifest
@@ -1,12 +1,12 @@
 ManifestFileVersion: 0
-CRC: 1949956267
+CRC: 247544766
 Hashes:
   AssetFileHash:
     serializedVersion: 2
-    Hash: 24f63998e920eccb887780f6b0c8bdda
+    Hash: 6c0345330dfdd65954f99b5bf002cb14
   TypeTreeHash:
     serializedVersion: 2
-    Hash: cd9ba56f0c56497ae4e1d6c613dca0a0
+    Hash: f08f4b318e7775189aba716ae3ef79f9
 HashAppended: 0
 ClassTypes:
 - Class: 1
@@ -22,6 +22,8 @@
 - Class: 114
   Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
 - Class: 114
+  Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
+- Class: 114
   Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
 - Class: 114
   Script: {fileID: 1679637790, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3}
@@ -35,6 +37,8 @@
   Script: {fileID: 571159103, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
 - Class: 114
   Script: {fileID: -1842827791, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
+- Class: 114
+  Script: {fileID: 644905346, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
 - Class: 114
   Script: {fileID: 323546239, guid: 4ffb1bf511e31af45bdeaa3d272d49d4, type: 3}
 - Class: 114
@@ -52,6 +56,9 @@
 - Class: 225
   Script: {instanceID: 0}
 Assets:
+- Assets/Prefabs/Setting.prefab
+- Assets/Prefabs/SettingToggle.prefab
+- Assets/Prefabs/SettingButton.prefab
 - Assets/Prefabs/FlightMenuSection.prefab
 - Assets/Prefabs/FlightMenu.prefab
 - Assets/Prefabs/Window.prefab