diff --git a/docs/_static/.gitignore b/docs/_static/.gitignore
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/docs/_static/.gitignore
diff --git a/docs/conf.py b/docs/conf.py
index 647cca4..849997c 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -235,6 +235,14 @@
         u'NFD Auto-configuration Server', None, 1),
     ('manpages/ndn-autoconfig', 'ndn-autoconfig',
         u'NFD Auto-configuration Client', None, 1),
+    ('manpages/nfdc', 'nfdc',
+        u'NFD utility to manipulate the forwarding table (FIB)', None, 1),
+    ('manpages/ndn-tlv-peek', 'ndn-tlv-peek', u'NFD consumer', None, 1),
+    ('manpages/ndn-tlv-poke', 'ndn-tlv-poke', u'NFD producer', None, 1),
+    ('manpages/nfd-autoreg', 'nfd-autoreg', u'NFD Auto-registration Server', None, 1),
+    ('manpages/nfd-status-http-server', 'nfd-status-http-server',
+        u'NFD status HTTP server', None, 1),
+    ('manpages/nfd-status', 'nfd-status', u'Command-line utility to show NFD status', None, 1),
 ]
 
 
diff --git a/docs/manpages.rst b/docs/manpages.rst
index 9690f11..5e1530b 100644
--- a/docs/manpages.rst
+++ b/docs/manpages.rst
@@ -4,6 +4,12 @@
 .. toctree::
    manpages/nfd
    manpages/nrd
+   manpages/nfdc
+   manpages/nfd-status
+   manpages/nfd-status-http-server
    manpages/ndn-autoconfig
    manpages/ndn-autoconfig-server
+   manpages/nfd-autoreg
+   manpages/ndn-tlv-peek
+   manpages/ndn-tlv-poke
    :maxdepth: 1
diff --git a/docs/manpages/ndn-autoconfig-server.rst b/docs/manpages/ndn-autoconfig-server.rst
index 923347b..8ed7968 100644
--- a/docs/manpages/ndn-autoconfig-server.rst
+++ b/docs/manpages/ndn-autoconfig-server.rst
@@ -1,19 +1,41 @@
+.. _ndn-autoconfig-server:
+
 ndn-autoconfig-server
 =====================
 
-Synopsis
---------
+Usage
+-----
 
 ::
 
-    ndn-autoconfig-server [-h] Uri
+    ndn-autoconfig-server [-h] FaceUri
 
 
 Description
 -----------
 
+``ndn-autoconfig-server`` is a daemon that implements server part for the stage 1 of
+:ref:`NDN hub discovery procedure`.
+
+This daemon essentially waits for Interests for ``/localhop/ndn-autoconf/hub`` and
+satisfies them with a Data packet that contains TLV-encoded FaceUri block.  The value of
+this block is the ``Uri`` for the HUB, preferrably a UDP tunnel.
+
+``-h``
+  print usage and exit.
+
+``FaceUri``
+  FaceUri for this NDN hub.
+
+Examples
+--------
+
 ::
 
-    -h print usage and exit
+    ndn-autoconfig-server tcp://spurs.cs.ucla.edu
 
-    Uri - a FaceMgmt URI
+
+See also
+--------
+
+:ref:`ndn-autoconfig`
diff --git a/docs/manpages/ndn-autoconfig.rst b/docs/manpages/ndn-autoconfig.rst
index 07233a5..8e56435 100644
--- a/docs/manpages/ndn-autoconfig.rst
+++ b/docs/manpages/ndn-autoconfig.rst
@@ -1,18 +1,28 @@
+.. _ndn-autoconfig:
+
 ndn-autoconfig
 ==============
 
-Synopsis
---------
+Usage
+-----
 
 ::
 
     ndn-autoconfig
 
+Description
+-----------
+
+Client tool to run :ref:`NDN hub discovery procedure`.
+
+.. _NDN hub discovery procedure:
 
 NDN hub discovery procedure
 ---------------------------
 
-When an end host starts up, or detects a change in its network environment, it MAY use this procedure to discover a local or home NDN router, in order to gain connectivity to `the NDN research testbed <http://named-data.net/ndn-testbed/>`_.
+When an end host starts up, or detects a change in its network environment, it MAY use
+this procedure to discover a local or home NDN router, in order to gain connectivity to
+`the NDN research testbed <http://named-data.net/ndn-testbed/>`_.
 
 Overview
 ^^^^^^^^
@@ -23,7 +33,7 @@
     This is useful in a home or small office network.
 
 2.  Look for a local NDN router by DNS query with default suffix.
-    This allows network administrator to configure a NDN router for a large enterprise network.
+    This allows network administrator to configure a NDN router in a large enterprise network.
 
 3.  Connect to the home NDN router according to user certificate.
     This ensures connectivity from anywhere.
@@ -41,8 +51,9 @@
 Response
 ++++++++
 
-A producer app on the HUB answer this Interest with a Data packet that contains a TLV-encoded `Uri` block.
-The value of this block is the URI for the HUB, preferrably a UDP tunnel.
+A producer app on the HUB answer this Interest with a Data packet that contains a
+TLV-encoded `Uri` block.  The value of this block is the URI for the HUB, preferrably a
+UDP tunnel.
 
 Stage 2: DNS query with default suffix
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -57,26 +68,32 @@
 Response
 ++++++++
 
-The DNS server should answer with an SRV record that contains the hostname and UDP port number of the NDN router.
+The DNS server should answer with an SRV record that contains the hostname and UDP port
+number of the NDN router.
 
 Stage 3: find home router
 ^^^^^^^^^^^^^^^^^^^^^^^^^
 
-This stage assumes that user has configured default certificate using `<http://ndncert.named-data.net/>`_ as described in `Certification Architecture <http://redmine.named-data.net/attachments/download/23/CertificationArchitecture.pptx>`_.
+This stage assumes that user has configured default certificate using
+`<http://ndncert.named-data.net/>`_ as described in `Certification Architecture
+<http://redmine.named-data.net/attachments/download/23/CertificationArchitecture.pptx>`_.
 
 Request
 +++++++
 
-The end host loads the default user identity (eg. ``/ndn/edu/ucla/cs/afanasev``), and converts it to DNS format.
+The end host loads the default user identity (eg. ``/ndn/edu/ucla/cs/afanasev``), and
+converts it to DNS format.
 
-The end host sends a DNS query for an SRV record of name ``_ndn._udp.`` + user identity in DNS format + ``_homehub._autoconf.named-data.net``. For example::
+The end host sends a DNS query for an SRV record of name ``_ndn._udp.`` + user identity in
+DNS format + ``_homehub._autoconf.named-data.net``. For example::
 
     _ndn._udp.afanasev.cs.ucla.edu.ndn._homehub._autoconf.named-data.net
 
 Response
 ++++++++
 
-The DNS server should answer with an SRV record that contains the hostname and UDP port number of the home NDN router of this user's site.
+The DNS server should answer with an SRV record that contains the hostname and UDP port
+number of the home NDN router of this user's site.
 
 Client procedure
 ----------------
@@ -98,7 +115,15 @@
 Stage 3
 ^^^^^^^
 
-* Load default user identity, and convert it to DNS format; if either fails, the auto-discovery fails.
+* Load default user identity, and convert it to DNS format; if either fails, the
+  auto-discovery fails.
 
 * Send a DNS query to find home HUB.
-  If this query is answered, connect to the home HUB and terminate auto-discovery. Otherwise, the auto-discovery fails.
+  If this query is answered, connect to the home HUB and terminate auto-discovery.
+  Otherwise, the auto-discovery fails.
+
+
+See also
+--------
+
+:ref:`ndn-autoconfig-server`
diff --git a/docs/manpages/ndn-tlv-peek.rst b/docs/manpages/ndn-tlv-peek.rst
new file mode 100644
index 0000000..9b2a7e4
--- /dev/null
+++ b/docs/manpages/ndn-tlv-peek.rst
@@ -0,0 +1,56 @@
+ndn-tlv-peek
+============
+
+Usage
+-----
+
+::
+
+    ndn-tlv-peek [-h] [-f] [-r] [-m min] [-M max] [-l lifetime] [-p] [-w timeout] name
+
+Description
+-----------
+
+``ndn-tlv-peek`` is a simple consumer program that sends one Interest and expects one Data
+packet in response.  The full Data packet (in TLV format) is written to stdout.  The
+program terminates with return code 0 if Data arrives, and with return code 1 when timeout
+occurs.
+
+``name`` is interpreted as the Interest name.
+
+Options
+-------
+
+``-h``
+  Print help and exit
+
+``-f``
+  If specified, set ``MustBeFresh`` selector in the Interest packet.
+
+``-r``
+  Set ``ChildSelector=1`` (the rightmost child) selector.
+
+``-m``
+  Set ``min`` as the ``MinSuffixComponents`` selector.
+
+``-M``
+  Set ``max`` as the ``MaxSuffixComponents`` selector.
+
+``-l``
+  Set ``lifetime`` (in milliseconds) as the ``InterestLifetime``.
+
+``-p``
+  If specified, print the received payload only, not the full packet.
+
+``-w``
+  Timeout after ``timeout`` milliseconds.
+
+
+Examples
+--------
+
+Send Interest for ``ndn:/app1/video`` and print the received payload only
+
+::
+
+    ndn-tlv-peek -p ndn:/app1/video
diff --git a/docs/manpages/ndn-tlv-poke.rst b/docs/manpages/ndn-tlv-poke.rst
new file mode 100644
index 0000000..73acb82
--- /dev/null
+++ b/docs/manpages/ndn-tlv-poke.rst
@@ -0,0 +1,54 @@
+ndn-tlv-poke
+============
+
+Usage
+-----
+
+::
+
+    ndn-tlv-poke [-h] [-f] [-D] [-i identity] [-F] [-x freshness] [-w timeout] name
+
+Description
+-----------
+
+``ndn-tlv-poke`` is a simple producer program that reads payload from stdin and publishes it
+as a single NDN Data packet.  The Data packet is published either as a response to the
+incoming Interest for the given ``name``, or forcefully pushed to the local NDN
+forwarder's cache if ``-f`` flag is specified.
+
+The program terminates with return code 0 if Data is sent and with return code 1 when
+timeout occurs.
+
+Options
+-------
+
+``-h``
+  Print usage and exit.
+
+``-f``
+  If specified, send Data without waiting for Interest.
+
+``-D``
+  If specified, use ``DigestSha256`` signature instead of default ``SignatureSha256WithRsa``.
+
+``-i``
+  Use ``identity`` to sign the created Data packet.
+
+``-F``
+  Set ``FinalBlockId`` to the last component of specified name.
+
+``-x``
+  Set ``FreshnessPeriod`` in milliseconds.
+
+``-w``
+  Wait at most ``timeout`` milliseconds for the incoming Interest.  If no Interest arrives
+  within the ``timeout``, the Data packet will not be published.
+
+
+Examples
+--------
+
+Create Data packet with content ``hello`` with the name ``ndn:/app/video`` and wait at
+most 3 seconds for the incoming Interest for it::
+
+    echo "Hello" | build/bin/ndn-tlv-poke -w 3000 ndn:/app/video
diff --git a/docs/manpages/nfd-autoreg.rst b/docs/manpages/nfd-autoreg.rst
new file mode 100644
index 0000000..168528d
--- /dev/null
+++ b/docs/manpages/nfd-autoreg.rst
@@ -0,0 +1,57 @@
+ndn-autoreg
+===========
+
+Usage
+-----
+
+::
+
+    nfd-autoreg --prefix=</autoreg/prefix> [--prefix=</another/prefix>] ...
+
+Description
+-----------
+
+``autoreg-server`` is a deamon application that automatically registers the specified
+prefix(es) when new on-demand Face is created (i.e., when a new UDP face is created
+as a result of an incoming packet or TCP face is created as a result of an incoming
+connection).
+
+Options
+-------
+
+``-h`` or ``--help``
+  Produce help message.
+
+``-i`` or ``--prefix``
+  Prefix that should be automatically registered when a new remote face is created.
+  Can be repeated multiple to specify additional prefixes.
+
+``-c`` or ``--cost``
+  RIB cost to be assigned to auto-registered prefixes.   if not specified, default cost
+  is set to 255.
+
+``-w`` or ``--whitelist``
+  Whitelisted network, e.g., 192.168.2.0/24 or ::1/128.   Can be repeated multiple times
+  to specify multiple whitelisted networks.
+
+  Prefix(es) will be auto-registered only when remote IP address is within the specified
+  range(s), except blacklist ranges.
+
+  Default: 0.0.0.0/0 and ::/0
+
+``-b`` or ``--blacklist``
+  Blacklisted network, e.g., 192.168.2.32/30 or ::1/128.  Can be repeated multiple times
+  to specify multiple blacklisted networks.
+
+  Prefix(es) will be auto-registered only when remote IP address in **NOT** within the
+  specified range(s), but is within the range define by the whitelist(s).
+
+  Default: none
+
+Examples
+--------
+
+Auto-register two prefixes for any newly created on-demand Face, except those that has
+source IP address in ``10.0.0.0/8`` network::
+
+    nfd-autoreg --prefix=/app1/video --prefix=/app2/pictures -b 10.0.0.0/8
diff --git a/docs/manpages/nfd-status-http-server.rst b/docs/manpages/nfd-status-http-server.rst
new file mode 100644
index 0000000..a6aa0eb
--- /dev/null
+++ b/docs/manpages/nfd-status-http-server.rst
@@ -0,0 +1,43 @@
+nfd-status-http-server
+======================
+
+Usage
+-----
+
+::
+
+    nfd-status-http-server [-h] [-p port number] [-a IP address] [-r] [-v]
+
+Description
+-----------
+
+``nfd-status-http-server`` is a daemon that enables retrieval of NFD status via HTTP protocol.
+
+Options
+-------
+
+``-h``
+  Show this help message and exit.
+
+``-p``
+  HTTP server port number (default is 8080).
+
+``-a``
+  HTTP server IP address (default is 127.0.0.1).
+
+``-r``
+  Enable HTTP robots to crawl (disabled by default).
+
+``-v``
+  Verbose mode.
+
+Examples
+--------
+
+Enable NFD HTTP status server on all IPv4 interfaces::
+
+    nfd-status-http-server -p 80 -a 0.0.0.0
+
+Enable NFD HTTP status server on all IPv6 interfaces::
+
+    nfd-status-http-server -p 80 -a ::
diff --git a/docs/manpages/nfd-status.rst b/docs/manpages/nfd-status.rst
new file mode 100644
index 0000000..cf80991
--- /dev/null
+++ b/docs/manpages/nfd-status.rst
@@ -0,0 +1,64 @@
+nfd-status
+==========
+
+Usage
+-----
+
+::
+
+    nfd-status [options]
+
+Description
+-----------
+
+``nfd-status`` is a tool to retrieve and print out NFD version and status information.
+
+Options:
+--------
+
+``-h``
+  Print usage information.
+
+``-v``
+  Retrieve version information.
+
+``-f``
+  Retrieve face status information.
+
+``-b``
+  Retrieve FIB information.
+
+If no options are provided, all information is retrieved.
+
+Examples
+--------
+
+Get all status information from NFD::
+
+    $ nfd-status
+    General NFD status:
+                   version=1000
+                 startTime=20140427T230936.006000
+               currentTime=20140427T231055.924000
+                    uptime=79 seconds
+          nNameTreeEntries=12
+               nFibEntries=4
+               nPitEntries=2
+      nMeasurementsEntries=0
+                nCsEntries=24
+              nInInterests=20
+             nOutInterests=19
+                  nInDatas=24
+                 nOutDatas=19
+    Faces:
+      faceid=1 remote=internal:// local=internal:// counters={in={0i 24d} out={20i 0d}}
+      faceid=2 remote=udp4://224.0.23.170:56363 local=udp4://192.168.0.106:56363 counters={in={0i 0d} out={0i 0d}}
+      faceid=3 remote=udp4://224.0.23.170:56363 local=udp4://127.0.0.1:56363 counters={in={0i 0d} out={0i 0d}}
+      faceid=5 remote=fd://16 local=unix:///private/tmp/nfd.sock counters={in={12i 1d} out={1i 11d}}
+      faceid=8 remote=tcp4://131.179.196.46:6363 local=tcp4://192.168.0.106:56118 counters={in={0i 0d} out={0i 0d}}
+      faceid=9 remote=fd://17 local=unix:///private/tmp/nfd.sock counters={in={2i 0d} out={0i 1d}}
+    FIB:
+      /localhost/nfd nexthops={faceid=1 (cost=0)}
+      /localhop/nfd/rib nexthops={faceid=5 (cost=0)}
+      /ndn nexthops={faceid=8 (cost=0)}
+      /localhost/nfd/rib nexthops={faceid=5 (cost=0)}
diff --git a/docs/manpages/nfd.rst b/docs/manpages/nfd.rst
index 6ebef97..0fa0ef8 100644
--- a/docs/manpages/nfd.rst
+++ b/docs/manpages/nfd.rst
@@ -1,8 +1,8 @@
 nfd
 ===
 
-Synopsis
---------
+Usage
+-----
 
 ::
 
@@ -12,8 +12,27 @@
 Description
 -----------
 
+NFD forwarding daemon.
+
+
+Options:
+--------
+
+``--help``
+  Print this help message.
+
+``--modules``
+  List available logging modules
+
+``--config <path/to/nfd.conf>``
+  Specify the path to nfd configuration file (default: ``${SYSCONFDIR}/ndn/nfd.conf``).
+
+Examples
+--------
+
+Start NFD forwarding daemon as super user and use a configuration file from the current
+working directory.
+
 ::
 
-    [--help]   - print this help message
-    [--modules] - list available logging modules
-    [--config /path/to/nfd.conf] - path to configuration file (default: /usr/local/etc/ndn/nfd.conf)
+    sudo nfd --config nfd.conf
diff --git a/docs/manpages/nfdc.rst b/docs/manpages/nfdc.rst
new file mode 100644
index 0000000..c2006c1
--- /dev/null
+++ b/docs/manpages/nfdc.rst
@@ -0,0 +1,179 @@
+nfdc
+====
+
+Usage
+-----
+
+::
+
+    nfdc [-h] COMMAND [<command options>]
+
+
+Description
+-----------
+
+``nfdc`` is a tool to manipulate routing information base (RIB), forwarding information
+base (FIB), and StrategyChoices table (i.e., which strategy should be used by which
+namespaces).
+
+Options
+-------
+
+``-h``
+  Print usage information.
+
+``COMMAND``
+
+  ``register``
+    Register a new or update existing routing entry in Routing Information Base (RIB).
+
+    ``register [-I] [-C] [-c <cost>] <prefix> <faceId | faceUri>``
+
+      ``-I``
+        Unset CHILD_INHERIT flag from the routing entry.
+
+      ``-C``
+        Set CAPTURE flag in the routing entry.
+
+      ``-c <cost>``
+        Cost for the RIB entry (default is 0).
+
+      ``prefix``
+        A prefix of an existing or to be created RIB entry, for which routing entry is
+        requested to be added or updated.
+
+      ``faceId``
+        An existing NFD Face ID number, which can be obtained, for example, using
+        ``nfd-status`` command.
+
+      ``faceUri``
+        URI of the existing or to be created Face.
+
+  ``unregister``
+    Unregister an existing routing entry from Routing Information Base (RIB).
+
+    ``unregister <prefix> <faceId>``
+
+      ``prefix``
+        A prefix of an existing RIB entry, from which routing entry is requested to be
+        removed.
+
+      ``faceId``
+        An existing NFD Face ID number, which can be obtained, for example, using
+        ``nfd-status`` command.
+
+  ``create``
+    Create a UDP unicast or TCP Face
+
+    ``create <faceUri>``
+
+      ``faceUri``
+        UDP unicast or TCP Face URI::
+
+            UDP unicast:    udp[4|6]://<remote-IP-or-host>[:<remote-port>]
+            TCP:            tcp[4|6]://<remote-IP-or-host>[:<remote-port>]
+
+  ``destroy``
+    Create an existing UDP unicast or TCP Face.
+
+    ``destroy <faceId | faceUri>``
+
+      ``faceId``
+        An existing NFD Face ID number, which can be obtained, for example, using
+        ``nfd-status`` command.
+
+      ``faceUri``
+        UDP unicast or TCP Face URI::
+
+            UDP unicast:    udp[4|6]://<remote-IP-or-host>[:<remote-port>]
+            TCP:            tcp[4|6]://<remote-IP-or-host>[:<remote-port>]
+
+  ``set-strategy``
+    Select strategy to be used for the specified namespace
+
+    ``set-strategy <namespace> <strategy-name>``
+
+      ``namespace``
+        Namespace that will use the specified strategy.
+
+        Note that more specific namespace(s) can use different strategy or strategies.
+        For example, if namespace ``/A/B/C`` was using strategy
+        ``ndn:/localhost/nfd/strategy/best-route`` before running ``set-strategy`` on
+        ``/A`` namespace, it will continue using the same strategy no matter which
+        namespace was specified for ``/A``.
+
+      ``strategy-name``
+        Name of one of the available strategies.
+
+        Currently, NFD supports the following strategies::
+
+            ndn:/localhost/nfd/strategy/best-route
+            ndn:/localhost/nfd/strategy/broadcast
+            ndn:/localhost/nfd/strategy/client-control
+            ndn:/localhost/nfd/strategy/ncc
+
+  ``unset-strategy``
+    Unset the strategy for a given ``namespace``.
+
+    Effectively, this command select parent's namespace strategy to be used for the
+    specified ``namespace``.
+
+    ``unset-strategy <namespace>``
+
+      ``namespace``
+        Namespace from which namespace customization should be removed.
+
+  ``add-nexthop``
+    Directly add nexthop entry info NFD's Forwarding Information Base (FIB).  This command
+    is intended only for debugging purposes.  Normally, prefix-nexhop association should
+    be registered in Routing Information Base using ``register`` command.
+
+    ``add-nexthop [-c <cost>] <prefix> <faceId | faceUri>``
+
+      ``-c <cost>``
+        Cost for the nexthop entry to be inserted (default is 0).
+
+      ``prefix``
+        A prefix of an existing or to be created FIB entry, to which nexthop
+        entry is requested to be added.
+
+      ``faceId``
+        An existing NFD Face ID number, which can be obtained, for example, using
+        ``nfd-status`` command
+
+      ``faceUri``
+        URI of the existing or to be created Face.
+
+  ``remove-nexthop``
+    Directly remove nexthop entry from NFD'S FIB.  This command
+    is intended only for debugging purposes.  Normally, prefix-nexhop association should
+    be unregistered from Routing Information Base using ``unregister`` command.
+
+    ``remove-nexthop <prefix> <faceId>``
+
+      ``prefix``
+        A prefix of an existing FIB entry, from which nexthop entry is requested to be removed.
+
+      ``faceId``
+        An existing NFD Face ID number, which can be obtained, for example, using
+        ``nfd-status`` command.
+
+        Note that when ``faceId`` is the last Face associated with ``prefix`` FIB entry,
+        the whole FIB entry will be removed.
+
+
+
+Examples
+--------
+
+Add a namespace to a face uri:
+
+::
+
+    nfdc register ndn:/app1/video udp://192.168.1.2
+
+Set strategy to a name:
+
+::
+
+    nfdc set-strategy ndn:/app1/video ndn:/localhost/nfd/strategy/broadcast
diff --git a/docs/manpages/nrd.rst b/docs/manpages/nrd.rst
index 2f03b2a..31fb384 100644
--- a/docs/manpages/nrd.rst
+++ b/docs/manpages/nrd.rst
@@ -1,67 +1,34 @@
 NRD (NFD RIB Daemon)
-========================
+====================
 
-NRD is a complementary daemon designed to work in parallel with NFD
-and to provide services for Routing Information Base management and
-constructing NFD's FIB:
+Usage
+-----
+
+::
+
+    nrd [options]
+
+
+Description
+-----------
+
+NRD is a complementary daemon designed to work in parallel with NFD and to provide
+services for Routing Information Base management and constructing NFD's FIB:
 
 * prefix registration from applications;
 * manual prefix registration;
 * prefix registrations from multiple dynamic routing protocols.
 
-Running and Configuring NRD
----------------------------
+NRD's runtime settings may be modified via `rib_*` sections in NFD's configuration file.
 
-NRD's runtime settings may be modified via configuration file. After
-installation, a working sample configuration is provided at
-``SYSCONFDIR/ndn/nrd.conf.sample``. At startup, NRD will attempt to read
-the default configuration file from following location:
-``SYSCONFDIR/ndn/nrd.conf``.
+Options:
+--------
 
-You may also specify an alternative configuration file location by
-running NRD with:
+``--help``
+  Print this help message.
 
-::
+``--modules``
+  List available logging modules
 
-    nrd --config </path/to/nrd.conf>
-
-Currently, nrd.conf contains only a security section, which is well
-documented in the sample configuration file.
-
-Starting experiments
---------------------
-
-1. Build, install and setup NFD by following the directions provided in
-   README.md in NFD root folder.
-
-2. Create certificates by following the instructions in NFD's README.md
-
-3. Build and install NRD by following the directions in INSTALL.md
-
-4. Create nrd.conf file. You can simply copy the provided sample file in
-   ``SYSCONFDIR/ndn/nrd.conf``.
-
-5. Setup the trust-anchors in nrd.conf. Ideally, the prefix registration
-   Interest should be signed by application/user key, and this
-   application/user key should be used as trust-anchor. However,
-   currently the default certificate is used to sign the registration
-   Interests. Therefore, for initial testing the default certificate
-   should be set as the trust-anchor. For doing so, the default
-   certificate should be copied in the same folder where the nrd.conf
-   is. Secondly, the trust-anchor should point to the copied certificate
-   in nrd.conf. To know the id of default certificate you can use:
-
-   ~$ ndnsec-get-default
-
-6. Start NFD (assuming the NFD's conf file exist in
-   ``SYSCONFDIR/ndn/nfd.conf``):
-
-   ~$ nfd
-
-7. Start NRD (assuming the conf file exist in
-   ``SYSCONFDIR/ndn/nrd.conf``):
-
-   ~$ nrd
-
-8. Try to connect any application to NFD. For example, producer
-   application that is provided ndn-cxx examples.
+``--config <path/to/nfd.conf>``
+  Specify the path to nfd configuration file (default: ``${SYSCONFDIR}/ndn/nfd.conf``).
diff --git a/tools/nfdc.cpp b/tools/nfdc.cpp
index 6e14023..bb60fef 100644
--- a/tools/nfdc.cpp
+++ b/tools/nfdc.cpp
@@ -35,11 +35,6 @@
     "       -h print usage and exit\n"
     "\n"
     "   COMMAND can be one of the following:\n"
-    "       add-nexthop [-c <cost>] <name> <faceId | faceUri>\n"
-    "           Add a nexthop to a FIB entry\n"
-    "           -c: specify cost\n"
-    "       remove-nexthop <name> <faceId> \n"
-    "           Remove a nexthop from a FIB entry\n"
     "       register [-I] [-C] [-c cost] name <faceId | faceUri>\n"
     "           register name to the given faceId or faceUri\n"
     "           -I: unset CHILD_INHERIT flag\n"
@@ -57,6 +52,11 @@
     "           Set the strategy for a namespace \n"
     "       unset-strategy <name> \n"
     "           Unset the strategy for a namespace \n"
+    "       add-nexthop [-c <cost>] <name> <faceId | faceUri>\n"
+    "           Add a nexthop to a FIB entry\n"
+    "           -c: specify cost\n"
+    "       remove-nexthop <name> <faceId> \n"
+    "           Remove a nexthop from a FIB entry\n"
     << std::endl;
 }
 
