diff --git a/osx/MainMenu.xib b/osx/MainMenu.xib
index 3687eed..5f23e85 100644
--- a/osx/MainMenu.xib
+++ b/osx/MainMenu.xib
@@ -33,16 +33,19 @@
         <customObject id="0yn-TQ-4SC" userLabel="Preference Delegate" customClass="PreferenceDelegate">
             <connections>
                 <outlet property="endpointText" destination="xpw-xe-S74" id="9Rb-zh-uE8"/>
+                <outlet property="fibTableView" destination="cwE-tM-0QM" id="9gU-Sg-Qgk"/>
                 <outlet property="forwardingSettingsView" destination="lQz-E7-PRx" id="d1y-fe-mMm"/>
                 <outlet property="generalSettingsView" destination="A7D-GN-X5W" id="paQ-iM-qEx"/>
                 <outlet property="namePrefixText" destination="Nr4-e2-zkN" id="2Nt-9H-SpG"/>
                 <outlet property="preferencesPanel" destination="coQ-VU-5RU" id="tZs-5C-1La"/>
                 <outlet property="prefixRegistrationSheet" destination="tRY-ba-DfO" id="FJr-yW-O1r"/>
                 <outlet property="securitySettingsView" destination="o3g-Q4-BEo" id="UDh-Kj-DYk"/>
+                <outlet property="tableController" destination="M6P-hs-Leb" id="Odo-he-xJv"/>
                 <outlet property="tunnelCombobox" destination="xrn-ng-SrO" id="cCr-A0-gR2"/>
             </connections>
         </customObject>
         <customObject id="Hcg-fF-E5x" customClass="LaunchAtLoginController"/>
+        <customObject id="M6P-hs-Leb" customClass="FibTableController"/>
         <menu id="ovl-jc-kIR">
             <items>
                 <menuItem title="NDN disconnected" id="yhj-L6-nZL">
@@ -181,11 +184,11 @@
             </connections>
         </window>
         <customView id="A7D-GN-X5W">
-            <rect key="frame" x="0.0" y="0.0" width="480" height="348"/>
+            <rect key="frame" x="0.0" y="0.0" width="480" height="247"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
                 <box autoresizesSubviews="NO" borderType="line" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="dPr-jz-Nc2">
-                    <rect key="frame" x="17" y="227" width="446" height="103"/>
+                    <rect key="frame" x="17" y="126" width="446" height="103"/>
                     <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
                     <view key="contentView">
                         <rect key="frame" x="1" y="1" width="444" height="101"/>
@@ -261,7 +264,7 @@
                     <color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
                 </box>
                 <box autoresizesSubviews="NO" title="Box" borderType="line" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="p9d-6I-rmw">
-                    <rect key="frame" x="17" y="152" width="446" height="73"/>
+                    <rect key="frame" x="17" y="51" width="446" height="73"/>
                     <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
                     <view key="contentView">
                         <rect key="frame" x="1" y="1" width="444" height="71"/>
@@ -316,10 +319,10 @@
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
                 <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8C0-3r-hw7">
-                    <rect key="frame" x="11" y="210" width="458" height="33"/>
+                    <rect key="frame" x="17" y="210" width="446" height="33"/>
                     <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
                     <constraints>
-                        <constraint firstAttribute="height" constant="33" id="tR1-xN-eLn"/>
+                        <constraint firstAttribute="height" constant="33" id="Yi6-p4-aJY"/>
                     </constraints>
                     <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="FIB" id="zB2-9L-OLy">
                         <font key="font" size="30" name="LucidaGrande"/>
@@ -327,22 +330,22 @@
                         <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
                     </textFieldCell>
                 </textField>
-                <scrollView autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pwe-zt-TSj">
-                    <rect key="frame" x="20" y="53" width="441" height="149"/>
+                <scrollView horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" horizontalScrollElasticity="none" translatesAutoresizingMaskIntoConstraints="NO" id="pwe-zt-TSj">
+                    <rect key="frame" x="20" y="53" width="440" height="149"/>
                     <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
-                    <clipView key="contentView" id="sSD-vM-Ynn">
-                        <rect key="frame" x="1" y="17" width="439" height="131"/>
+                    <clipView key="contentView" copiesOnScroll="NO" id="sSD-vM-Ynn">
+                        <rect key="frame" x="1" y="17" width="438" height="131"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
-                            <tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" headerView="LTh-Cz-kn3" id="cwE-tM-0QM">
-                                <rect key="frame" x="0.0" y="0.0" width="439" height="131"/>
+                            <tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" headerView="LTh-Cz-kn3" id="cwE-tM-0QM">
+                                <rect key="frame" x="0.0" y="0.0" width="438" height="131"/>
                                 <autoresizingMask key="autoresizingMask"/>
                                 <size key="intercellSpacing" width="3" height="2"/>
                                 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                 <color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
                                 <tableColumns>
-                                    <tableColumn width="209.12890625" minWidth="40" maxWidth="1000" id="uNg-7f-0Fn">
-                                        <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
+                                    <tableColumn editable="NO" width="217.93359375" minWidth="40" maxWidth="1000" id="uNg-7f-0Fn">
+                                        <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="NDN prefix">
                                             <font key="font" metaFont="smallSystem"/>
                                             <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
                                             <color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
@@ -352,10 +355,10 @@
                                             <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
                                             <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
                                         </textFieldCell>
-                                        <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
+                                        <tableColumnResizingMask key="resizingMask" userResizable="YES"/>
                                     </tableColumn>
-                                    <tableColumn width="224" minWidth="40" maxWidth="1000" id="Lyf-oJ-Usx">
-                                        <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
+                                    <tableColumn editable="NO" width="45.0703125" minWidth="40" maxWidth="1000" id="Lyf-oJ-Usx">
+                                        <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Face ID">
                                             <font key="font" metaFont="smallSystem"/>
                                             <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
                                             <color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
@@ -365,23 +368,39 @@
                                             <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
                                             <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
                                         </textFieldCell>
-                                        <tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
+                                        <tableColumnResizingMask key="resizingMask" userResizable="YES"/>
+                                    </tableColumn>
+                                    <tableColumn editable="NO" width="145.61328125" minWidth="10" maxWidth="3.4028234663852886e+38" id="qRZ-T3-vj8">
+                                        <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Endpoint">
+                                            <font key="font" metaFont="smallSystem"/>
+                                            <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
+                                            <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
+                                        </tableHeaderCell>
+                                        <textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="jKf-Cl-jvW">
+                                            <font key="font" metaFont="system"/>
+                                            <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+                                            <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                        </textFieldCell>
+                                        <tableColumnResizingMask key="resizingMask" userResizable="YES"/>
                                     </tableColumn>
                                 </tableColumns>
+                                <connections>
+                                    <outlet property="dataSource" destination="M6P-hs-Leb" id="NbM-Xt-2RQ"/>
+                                </connections>
                             </tableView>
                         </subviews>
                         <color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
                     </clipView>
                     <scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" id="l9T-JI-kUJ">
-                        <rect key="frame" x="1" y="1" width="0.0" height="16"/>
+                        <rect key="frame" x="-100" y="-100" width="438" height="16"/>
                         <autoresizingMask key="autoresizingMask"/>
                     </scroller>
-                    <scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" id="Ohc-CY-k3U">
-                        <rect key="frame" x="-15" y="17" width="16" height="0.0"/>
+                    <scroller key="verticalScroller" verticalHuggingPriority="750" id="Ohc-CY-k3U">
+                        <rect key="frame" x="423" y="17" width="16" height="131"/>
                         <autoresizingMask key="autoresizingMask"/>
                     </scroller>
                     <tableHeaderView key="headerView" id="LTh-Cz-kn3">
-                        <rect key="frame" x="0.0" y="0.0" width="439" height="17"/>
+                        <rect key="frame" x="0.0" y="0.0" width="438" height="17"/>
                         <autoresizingMask key="autoresizingMask"/>
                     </tableHeaderView>
                 </scrollView>
@@ -397,10 +416,10 @@
                     </connections>
                 </button>
                 <button translatesAutoresizingMaskIntoConstraints="NO" id="gQI-Og-HTs">
-                    <rect key="frame" x="64" y="20" width="24" height="25"/>
+                    <rect key="frame" x="64" y="20" width="34" height="25"/>
                     <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
                     <constraints>
-                        <constraint firstAttribute="width" constant="24" id="3O2-RL-Bwo"/>
+                        <constraint firstAttribute="width" constant="34" id="0LB-Iy-ql1"/>
                     </constraints>
                     <buttonCell key="cell" type="square" title="-" bezelStyle="shadowlessSquare" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="MLe-yE-kAQ">
                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -412,18 +431,16 @@
                 </button>
             </subviews>
             <constraints>
+                <constraint firstItem="pwe-zt-TSj" firstAttribute="top" secondItem="8C0-3r-hw7" secondAttribute="bottom" constant="8" symbolic="YES" id="14y-21-z0L"/>
                 <constraint firstItem="pwe-zt-TSj" firstAttribute="leading" secondItem="lQz-E7-PRx" secondAttribute="leading" constant="20" symbolic="YES" id="5me-XE-Y3X"/>
-                <constraint firstItem="pwe-zt-TSj" firstAttribute="top" secondItem="8C0-3r-hw7" secondAttribute="bottom" constant="8" symbolic="YES" id="9V1-Nb-T1c"/>
-                <constraint firstAttribute="centerX" secondItem="8C0-3r-hw7" secondAttribute="centerX" id="B5J-y5-Jw0"/>
-                <constraint firstItem="gQI-Og-HTs" firstAttribute="top" secondItem="pwe-zt-TSj" secondAttribute="bottom" constant="8" symbolic="YES" id="DUz-1v-jfV"/>
-                <constraint firstItem="gQI-Og-HTs" firstAttribute="leading" secondItem="bzX-Tt-J0Y" secondAttribute="trailing" constant="10" symbolic="YES" id="G8c-bW-N9r"/>
-                <constraint firstItem="8C0-3r-hw7" firstAttribute="leading" secondItem="lQz-E7-PRx" secondAttribute="leading" constant="14" id="I06-Ye-yiY"/>
-                <constraint firstItem="8C0-3r-hw7" firstAttribute="top" secondItem="lQz-E7-PRx" secondAttribute="top" constant="10" id="Kh2-t8-I8t"/>
-                <constraint firstItem="pwe-zt-TSj" firstAttribute="top" secondItem="8C0-3r-hw7" secondAttribute="bottom" constant="8" id="M0q-Ge-laF"/>
-                <constraint firstAttribute="bottom" secondItem="gQI-Og-HTs" secondAttribute="bottom" constant="20" symbolic="YES" id="Sl7-Ea-MVs"/>
-                <constraint firstItem="gQI-Og-HTs" firstAttribute="leading" secondItem="lQz-E7-PRx" secondAttribute="leading" constant="64" id="WvQ-vg-YwD"/>
+                <constraint firstItem="8C0-3r-hw7" firstAttribute="top" secondItem="lQz-E7-PRx" secondAttribute="top" constant="10" id="Afe-2S-bU9"/>
+                <constraint firstItem="gQI-Og-HTs" firstAttribute="baseline" secondItem="bzX-Tt-J0Y" secondAttribute="baseline" id="Ibd-jx-qJJ"/>
+                <constraint firstItem="8C0-3r-hw7" firstAttribute="leading" secondItem="pwe-zt-TSj" secondAttribute="leading" id="SdO-zS-L0k"/>
+                <constraint firstItem="8C0-3r-hw7" firstAttribute="trailing" secondItem="pwe-zt-TSj" secondAttribute="trailing" id="VP4-2d-n2W"/>
+                <constraint firstItem="gQI-Og-HTs" firstAttribute="leading" secondItem="lQz-E7-PRx" secondAttribute="leading" constant="64" id="fcS-2H-k8g"/>
                 <constraint firstItem="bzX-Tt-J0Y" firstAttribute="top" secondItem="pwe-zt-TSj" secondAttribute="bottom" constant="8" symbolic="YES" id="gb4-7g-j6B"/>
-                <constraint firstItem="gQI-Og-HTs" firstAttribute="baseline" secondItem="bzX-Tt-J0Y" secondAttribute="baseline" id="nCo-gK-obk"/>
+                <constraint firstAttribute="bottom" secondItem="gQI-Og-HTs" secondAttribute="bottom" constant="20" symbolic="YES" id="tXT-xP-W3Z"/>
+                <constraint firstItem="gQI-Og-HTs" firstAttribute="leading" secondItem="bzX-Tt-J0Y" secondAttribute="trailing" constant="10" symbolic="YES" id="ueH-Fo-FuB"/>
                 <constraint firstItem="pwe-zt-TSj" firstAttribute="leading" secondItem="bzX-Tt-J0Y" secondAttribute="leading" id="upa-cN-R9y"/>
                 <constraint firstItem="pwe-zt-TSj" firstAttribute="centerX" secondItem="lQz-E7-PRx" secondAttribute="centerX" id="xhq-9c-a7S"/>
             </constraints>
diff --git a/osx/Resources/status-to-fib.xslt b/osx/Resources/status-to-fib.xslt
new file mode 100644
index 0000000..e4ad841
--- /dev/null
+++ b/osx/Resources/status-to-fib.xslt
@@ -0,0 +1,29 @@
+<xsl:stylesheet version = '1.0'
+                xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
+
+<xsl:template match="/ndnd">
+<fibs>
+<xsl:apply-templates select="forwarding/fentry" />
+</fibs>
+</xsl:template>
+
+<xsl:template match="fentry">
+<fib>
+<xsl:apply-templates select="dest/faceid" />
+<prefix><xsl:value-of select="prefix"/></prefix>
+</fib>
+</xsl:template>
+
+<xsl:template match="faceid">
+<xsl:variable name="id"><xsl:value-of select="." /></xsl:variable>
+<faceID><xsl:copy-of select="$id" /></faceID>
+<ip>
+<xsl:choose>
+  <xsl:when test="count(//face/ip[../faceid=$id]) &gt; 0"><xsl:value-of select="//face/ip[../faceid=$id]" />
+  </xsl:when>
+  <xsl:otherwise>app</xsl:otherwise>
+</xsl:choose>
+</ip>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/osx/fib-table-controller.h b/osx/fib-table-controller.h
new file mode 100644
index 0000000..1dd074f
--- /dev/null
+++ b/osx/fib-table-controller.h
@@ -0,0 +1,22 @@
+/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil -*- */
+/*
+ * @copyright See LICENCE for copyright and license information.
+ *
+ * @author Alexander Afanasyev <alexander.afanasyev@ucla.edu>
+ * @author Ilya Moiseenko <iliamo@ucla.edu>
+ */
+
+#import <Cocoa/Cocoa.h>
+
+@interface FibTableController : NSObject <NSTableViewDataSource, NSXMLParserDelegate>
+{
+  NSXMLDocument *m_document;
+}
+
+@property NSTableView *m_tableView;
+
+- (void)loadStatus:(NSXMLDocument *)document;
+- (NSString *)getFaceByRowIndex:(NSInteger)index;
+- (NSString *)getPrefixByRowIndex:(NSInteger)index;
+
+@end
diff --git a/osx/fib-table-controller.mm b/osx/fib-table-controller.mm
new file mode 100644
index 0000000..2f8e96e
--- /dev/null
+++ b/osx/fib-table-controller.mm
@@ -0,0 +1,69 @@
+/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil -*- */
+/*
+ * @copyright See LICENCE for copyright and license information.
+ *
+ * @author Alexander Afanasyev <alexander.afanasyev@ucla.edu>
+ * @author Ilya Moiseenko <iliamo@ucla.edu>
+ */
+
+#include "config.h"
+#import "fib-table-controller.h"
+
+@implementation FibTableController
+
+- (void)loadStatus:(NSXMLDocument *)document
+{
+  m_document = document;
+}
+
+- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView
+{
+  if (m_document == nil)
+    {
+      return 0;
+    }
+  else
+    {
+      return [[m_document rootElement] childCount];
+    }
+}
+
+-(id)tableView:(NSTableView *)aTableView
+  objectValueForTableColumn:(NSTableColumn *)aTableColumn 
+  row:(NSInteger)rowIndex
+{
+  NSXMLNode *element = [[m_document rootElement] childAtIndex:rowIndex];
+
+  if([[[aTableColumn headerCell] stringValue] isEqual:@"NDN prefix"])
+  {
+    return [[element childAtIndex:2] stringValue];
+  }
+  else if([[[aTableColumn headerCell] stringValue] isEqual:@"Face ID"])
+  {
+    return [[element childAtIndex:0] stringValue];
+  }
+  else if([[[aTableColumn headerCell] stringValue] isEqual:@"Endpoint"])
+  {
+    return [[element childAtIndex:1] stringValue];
+  }
+  
+  return nil;
+}
+
+///////////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////////////////////
+
+- (NSString *)getFaceByRowIndex:(NSInteger)index
+{
+  NSXMLNode *element = [[m_document rootElement] childAtIndex:index];
+  return [[element childAtIndex:0] stringValue];
+}
+
+- (NSString *)getPrefixByRowIndex:(NSInteger)index
+{
+  NSXMLNode *element = [[m_document rootElement] childAtIndex:index];
+  return [[element childAtIndex:2] stringValue];
+}
+
+@end
diff --git a/osx/menu-delegate.h b/osx/menu-delegate.h
index 994ed4c..27ced8c 100644
--- a/osx/menu-delegate.h
+++ b/osx/menu-delegate.h
@@ -18,6 +18,7 @@
   NSImage *m_connectedIcon;
   NSImage *m_disconnectedIcon;
   NSData  *m_statusXslt;
+  NSData  *m_statusToFibXslt;
 
   IBOutlet NSPopover *statusPopover;
 
diff --git a/osx/menu-delegate.mm b/osx/menu-delegate.mm
index 24102fd..c47e0b9 100644
--- a/osx/menu-delegate.mm
+++ b/osx/menu-delegate.mm
@@ -32,6 +32,7 @@
   m_connectedIcon = [[NSImage alloc] initWithContentsOfFile:[bundle pathForResource:@"FlatConnected" ofType:@"png"]];
   m_disconnectedIcon = [[NSImage alloc] initWithContentsOfFile:[bundle pathForResource:@"FlatDisconnected" ofType:@"png"]];
   m_statusXslt = [NSData dataWithContentsOfFile:[bundle pathForResource:@"status" ofType:@"xslt"]];
+  m_statusToFibXslt = [NSData dataWithContentsOfFile:[bundle pathForResource:@"status-to-fib" ofType:@"xslt"]];
   
   NSTimer *t = [NSTimer scheduledTimerWithTimeInterval: 1.0
                       target: self
@@ -116,12 +117,18 @@
     [statusItem setImage:m_connectedIcon];
   }
 
-  NSXMLDocument *result = [document objectByApplyingXSLT:m_statusXslt
-                           arguments:nil
-                           error:nil];
+  NSXMLDocument *statusXml = [document objectByApplyingXSLT:m_statusXslt
+                              arguments:nil
+                              error:nil];
 
-  m_statusString = [[NSAttributedString alloc]initWithHTML:[result XMLData] documentAttributes:NULL];
+  NSXMLDocument *statusFibXml = [document objectByApplyingXSLT:m_statusToFibXslt
+                                 arguments:nil
+                                 error:nil];
+
+  m_statusString = [[NSAttributedString alloc]initWithHTML:[statusXml XMLData] documentAttributes:NULL];
   [daemonStatusHtml setAttributedStringValue:m_statusString];
+
+  [preferencesDelegate updateFibStatus:statusFibXml];
 }
 
 - (void)statusUnavailable:(id)none
@@ -134,7 +141,10 @@
     
     [statusItem setImage:m_disconnectedIcon];
   }
-  
+
+  [daemonStatusHtml setStringValue:@""];
+  [preferencesDelegate updateFibStatus:nil];
+
   [m_operationQueue addOperationWithBlock:^{
       NSTask *task = [[NSTask alloc] init];
       [task setLaunchPath: @NDND_START_COMMAND];
diff --git a/osx/preference-delegate.h b/osx/preference-delegate.h
index 4ecd46b..fdc48bd 100644
--- a/osx/preference-delegate.h
+++ b/osx/preference-delegate.h
@@ -7,12 +7,16 @@
  */
 
 #import <Cocoa/Cocoa.h>
+#import "fib-table-controller.h"
 
 @interface PreferenceDelegate : NSObject
 {
   IBOutlet NSWindow *preferencesPanel;
   IBOutlet NSView *generalSettingsView;
+  
   IBOutlet NSView *forwardingSettingsView;
+  IBOutlet NSTableView *fibTableView;
+  
   IBOutlet NSView *securitySettingsView;
   IBOutlet NSView *testbedSettingsView;
   
@@ -20,6 +24,9 @@
   IBOutlet NSComboBox *tunnelCombobox;
   IBOutlet NSTextField *namePrefixText;
   IBOutlet NSTextField *endpointText;
+  
+  IBOutlet FibTableController *tableController;
+  NSOperationQueue *m_operationQueue;
 }
 
 @property BOOL allowSoftwareUpdates;
@@ -29,17 +36,18 @@
 -(IBAction)openGeneralSettings:(id)sender;
 -(IBAction)openForwardingSettings:(id)sender;
 -(IBAction)openSecuritySettings:(id)sender;
--(IBAction)openTestbedSettings:(id)sender;
 
 -(IBAction)switchSoftwareUpdates:(id)sender;
 -(IBAction)switchHubDiscovery:(id)sender;
--(IBAction)restartDaemon:(id)sender;
 
 -(IBAction)addFibEntry:(id)sender;
 -(IBAction)removeFibEntry:(id)sender;
--(IBAction) showFibEntrySheet:(id)sender;
+-(IBAction)showFibEntrySheet:(id)sender;
 -(IBAction)hideFibEntrySheet:(id)sender;
 
 -(IBAction)openRoutingStatusPage:(id)sender;
 -(IBAction)openTrafficMapPage:(id)sender;
+
+-(void)updateFibStatus:(NSXMLDocument*)status;
+
 @end
diff --git a/osx/preference-delegate.mm b/osx/preference-delegate.mm
index 2760908..b19e369 100644
--- a/osx/preference-delegate.mm
+++ b/osx/preference-delegate.mm
@@ -16,6 +16,11 @@
   [preferencesPanel setContentView:generalSettingsView];
   [preferencesPanel makeKeyAndOrderFront:sender];
   [preferencesPanel setLevel: NSStatusWindowLevel];
+  
+  if(m_operationQueue == nil)
+    m_operationQueue = [[NSOperationQueue alloc] init];
+  
+  tableController.m_tableView = fibTableView;
 }
 
 -(IBAction)openGeneralSettings:(id)sender
@@ -33,11 +38,6 @@
   [preferencesPanel setContentView:securitySettingsView];
 }
 
--(IBAction)openTestbedSettings:(id)sender
-{
-  [preferencesPanel setContentView:testbedSettingsView];
-}
-
 -(IBAction)switchSoftwareUpdates:(id)sender
 {
   if ([(NSButton*)sender state] == NSOnState)
@@ -62,20 +62,10 @@
   }
 }
 
--(IBAction)restartDaemon:(id)sender
+-(void)updateFibStatus:(NSXMLDocument*)status;
 {
-  /*daemonStarted = false;
-  [sender setTitle:@"Start"];
-  [connectionStatusText setStringValue:@"Disconnected"];
-    
-  NSTask *task = [[NSTask alloc] init];
-  [task setLaunchPath: NDND_STOP_COMMAND];
-  [task launch];
-    
-  NSBundle *bundle = [NSBundle bundleForClass:[self class]];
-  NSString *path = [bundle pathForResource:@"FlatDisconnected" ofType:@"png"];
-  menuIcon = [[NSImage alloc] initWithContentsOfFile:path];
-  [statusItem setImage:menuIcon];*/
+  [tableController loadStatus:status];
+  [fibTableView reloadData];
 }
 
 -(IBAction)addFibEntry:(id)sender
@@ -83,40 +73,59 @@
   [NSApp endSheet:prefixRegistrationSheet];
   [prefixRegistrationSheet orderOut:sender];
   
-  NSString *operationName = @"add";
-  
   NSString *prefixName = [namePrefixText stringValue];
-  NSString *socketType = [tunnelCombobox itemObjectValueAtIndex:[tunnelCombobox indexOfSelectedItem]];
-  NSString *address = [endpointText stringValue];
+  NSString *tunnelType = [tunnelCombobox itemObjectValueAtIndex:[tunnelCombobox indexOfSelectedItem]];
+  NSString *endpoint = [endpointText stringValue];
+  
+  [m_operationQueue addOperationWithBlock:^{
+      NSTask *task = [[NSTask alloc] init];
+      [task setLaunchPath: @NDND_FIB_COMMAND];
+      [task setArguments: [NSArray arrayWithObjects: @"add", prefixName, tunnelType, endpoint, nil]];
+      [task launch];
+      [task waitUntilExit];
+    }];
 
-  NSArray *arguments = [NSArray arrayWithObjects: operationName, prefixName, socketType, address, nil];
-
-  NSTask *task = [[NSTask alloc] init];
-  [task setLaunchPath: @NDND_FIB_COMMAND];
-  [task setArguments: arguments];
-  [task launch];
 }
 
 -(IBAction)removeFibEntry:(id)sender
 {
+  NSInteger selectedRow = [fibTableView selectedRow];
+  
+  if(selectedRow == -1)
+    return;
+  
+  NSString *faceID = [tableController getFaceByRowIndex:selectedRow];
+  if (faceID == nil)
+    return;
 
+  NSString *prefix = [tableController getPrefixByRowIndex:selectedRow];
+  if (prefix == nil)
+    return;
+
+  [m_operationQueue addOperationWithBlock:^{
+      NSTask *task = [[NSTask alloc] init];
+      [task setLaunchPath: @NDND_FIB_COMMAND];
+      [task setArguments: [NSArray arrayWithObjects: @"del", prefix, @"face", faceID, nil]];
+      [task launch];
+      [task waitUntilExit];
+    }];
 }
 
 - (IBAction) showFibEntrySheet:(id)sender
 {
-    [NSApp beginSheet:prefixRegistrationSheet
+  [NSApp beginSheet:prefixRegistrationSheet
     modalForWindow:preferencesPanel
     modalDelegate:self
     didEndSelector:nil
     contextInfo:nil];
   
-    [tunnelCombobox selectItemAtIndex:0];
+  [tunnelCombobox selectItemAtIndex:0];
 }
 
 -(IBAction)hideFibEntrySheet:(id)sender
 {
-    [NSApp endSheet:prefixRegistrationSheet];
-    [prefixRegistrationSheet orderOut:sender];
+  [NSApp endSheet:prefixRegistrationSheet];
+  [prefixRegistrationSheet orderOut:sender];
 }
 
 
