diff --git a/osx/MainMenu.xib b/osx/MainMenu.xib
index d470966..5ebd3ef 100644
--- a/osx/MainMenu.xib
+++ b/osx/MainMenu.xib
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="4510" systemVersion="12F37" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
     <dependencies>
-        <deployment defaultVersion="1080" identifier="macosx"/>
         <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="4510"/>
     </dependencies>
     <objects>
@@ -17,7 +16,6 @@
                 <outlet property="connectionStatus" destination="yhj-L6-nZL" id="v5Y-5B-2aW"/>
                 <outlet property="daemonStatus" destination="Tap-5m-ZRP" id="yrK-Nr-zKm"/>
                 <outlet property="routingStatus" destination="Vc8-fu-RAY" id="GVC-zB-uSO"/>
-                <outlet property="startstopButton" destination="TvT-OR-oT4" id="kEH-ls-jDL"/>
                 <outlet property="statusMenu" destination="ovl-jc-kIR" id="dlz-Qz-Ia0"/>
                 <outlet property="statusPopover" destination="eAA-vc-IW1" id="bD5-Rp-Syx"/>
                 <outlet property="trafficMap" destination="6tC-sG-tLM" id="rxz-Jt-3au"/>
@@ -25,11 +23,14 @@
         </customObject>
         <menu id="ovl-jc-kIR">
             <items>
-                <menuItem title="Connected" id="yhj-L6-nZL">
+                <menuItem title="NDN disconnected" id="yhj-L6-nZL">
                     <modifierMask key="keyEquivalentModifierMask"/>
                 </menuItem>
-                <menuItem title="Stop" id="TvT-OR-oT4">
+                <menuItem title="Start" id="TvT-OR-oT4">
                     <modifierMask key="keyEquivalentModifierMask"/>
+                    <connections>
+                        <action selector="switchDaemon:" target="494" id="kgm-Z4-mQz"/>
+                    </connections>
                 </menuItem>
                 <menuItem title="Status" id="Tap-5m-ZRP">
                     <modifierMask key="keyEquivalentModifierMask"/>
@@ -53,6 +54,9 @@
                         <action selector="openTrafficMapPage:" target="494" id="eae-R6-kYb"/>
                     </connections>
                 </menuItem>
+                <menuItem title="Preferences" id="c5x-Oa-5tb">
+                    <modifierMask key="keyEquivalentModifierMask"/>
+                </menuItem>
             </items>
         </menu>
         <viewController id="QoL-hX-ilM" userLabel="Popover View Controller">
diff --git a/osx/Resources/FlatConnected.png b/osx/Resources/FlatConnected.png
new file mode 100644
index 0000000..3ce424f
--- /dev/null
+++ b/osx/Resources/FlatConnected.png
Binary files differ
diff --git a/osx/Resources/FlatDisconnected.png b/osx/Resources/FlatDisconnected.png
new file mode 100644
index 0000000..0670f42
--- /dev/null
+++ b/osx/Resources/FlatDisconnected.png
Binary files differ
diff --git a/osx/menu-delegate.h b/osx/menu-delegate.h
index 429e6ea..578a4a5 100644
--- a/osx/menu-delegate.h
+++ b/osx/menu-delegate.h
@@ -21,8 +21,11 @@
     IBOutlet NSMenuItem *daemonStatus;
     IBOutlet NSMenuItem *routingStatus;
     IBOutlet NSMenuItem *trafficMap;
+  
+    BOOL daemonStarted;
 }
 
+-(IBAction)switchDaemon:(id)sender;
 -(IBAction)openDaemonStatus:(id)sender;
 -(IBAction)openRoutingStatusPage:(id)sender;
 -(IBAction)openTrafficMapPage:(id)sender;
diff --git a/osx/menu-delegate.mm b/osx/menu-delegate.mm
index a425af2..35e3881 100644
--- a/osx/menu-delegate.mm
+++ b/osx/menu-delegate.mm
@@ -26,10 +26,38 @@
   //[statusItem setTarget:self];
 
   NSBundle *bundle = [NSBundle bundleForClass:[self class]];
-  NSString *path = [bundle pathForResource:@"IconDisconnected" ofType:@"png"];
+  NSString *path = [bundle pathForResource:@"FlatDisconnected" ofType:@"png"];
   menuIcon = [[NSImage alloc] initWithContentsOfFile:path];
   [statusItem setTitle:@""];
   [statusItem setImage:menuIcon];
+  
+  daemonStarted = false;
+}
+
+-(IBAction)switchDaemon:(id)sender
+{
+  if (daemonStarted)
+  {
+    daemonStarted = false;
+    [sender setTitle:@"Start"];
+    [connectionStatus setTitle:@"NDN disconnected"];
+    
+    NSBundle *bundle = [NSBundle bundleForClass:[self class]];
+    NSString *path = [bundle pathForResource:@"FlatDisconnected" ofType:@"png"];
+    menuIcon = [[NSImage alloc] initWithContentsOfFile:path];
+    [statusItem setImage:menuIcon];
+  }
+  else
+  {
+    daemonStarted = true;
+    [sender setTitle:@"Stop"];
+    [connectionStatus setTitle:@"NDN connected"];
+    
+    NSBundle *bundle = [NSBundle bundleForClass:[self class]];
+    NSString *path = [bundle pathForResource:@"FlatConnected" ofType:@"png"];
+    menuIcon = [[NSImage alloc] initWithContentsOfFile:path];
+    [statusItem setImage:menuIcon];
+  }
 }
 
 -(IBAction)openDaemonStatus:(id)sender
