diff --git a/README.md b/README.md
index dc46009..2501f3b 100644
--- a/README.md
+++ b/README.md
@@ -1,101 +1,31 @@
 NFD - Named Data Networking Forwarding Daemon
 ==============================================================
 
-## Default Paths
+NFD is the network forwarder that implements the Named Data Networking (NDN)
+[protocol](http://named-data.net/doc/ndn-tlv/) and evolves together with the NDN protocol.
 
-This README uses `SYSCONFDIR` when referring to the default locations of
-various NFD configuration files.  By default, `SYSCONFDIR` is set to
-`/usr/local/etc`.  If you override `PREFIX`, then `SYSCONFDIR` will
-default to `PREFIX/etc`.
+The main design goal of NFD development is to support diverse experimention of NDN
+research.  The design emphasizes on modularity and extensibility to allow easy experiments
+with new protocol features, new algorithms, and new applications.  We have not optimized
+the code for performance, but it can be achieved within the same framework by trying out
+different data structures and algorithms.
 
-You may override `SYSCONFDIR` and `PREFIX` by specifying their
-corresponding options during installation:
+NFD is open, free, and developed by a community effort.  Although most code of this first
+release was done by the NSF-sponsored NDN project team, it also contains significant
+contributions by people outside the project team.  We strongly encourage contributions from
+all interested parties, since broader community support is key to NDN’s success as a new
+Internet architecture.  Bug reports and feedbacks can be made through
+[Redmine site](http://redmine.named-data.net/projects/nfd) and the
+[ndn-interest mailing list](http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest).
 
-    ./waf configure --prefix <path/for/prefix> --sysconfdir <some/other/path>
+The design and development of NFD benefited from our experiences with CCNx. However NFD
+does not maintain compatibility with [CCNx](http://www.ccnx.org).
 
-Refer to `INSTALL.md` for more detailed instructions on how to compile
-and install NFD.
+Documentation
+-------------
 
-## Running and Configuring NFD
+For more information refer to
 
-NFD's runtime settings may be modified via configuration file.  After
-installation, a working sample configuration is provided at
-`SYSCONFDIR/ndn/nfd.conf.sample`.  At startup, NFD will attempt to
-read the default configuration file location:
-`SYSCONFDIR/ndn/nfd.conf`.
-
-You may also specify an alternative configuration file location
-by running NFD with:
-
-    nfd --config </path/to/nfd.conf>
-
-Once again, note that you may simply copy or rename the provided
-sample configuration and have an **almost** fully configured NFD.
-However, this NFD will be unable to add FIB entries or perform
-other typical operation tasks until you authorize an NDN certificate
-with the appropriate privileges.
-
-## Installing an NDN Certificate for Command Authentication
-
-Many NFD management protocols require signed commands to be processed
-(e.g. FIB modification, Face creation/destructions, etc.). You will
-need an NDN certificate to use any application that issues signed
-commands.
-
-If you do not already have NDN certificate, you can generate one with
-the following commands:
-
-**Generate and install a self-signed identity certificate**:
-
-    ndnsec-keygen /`whoami` | ndnsec-install-cert -
-
-Note that the argument to ndnsec-key will be the identity name of the
-new key (in this case, `/your-username`). Identity names are
-hierarchical NDN names and may have multiple components
-(e.g. `/ndn/ucla/edu/alice`).  You may create additional keys and
-identities as you see fit.
-
-**Dump the NDN certificate to a file**:
-
-The following commands assume that you have not modified
-`PREFIX` or `SYSCONFDIR` If you have, please substitute
-`/usr/local/etc` for the appropriate value (the overriden
-`SYSCONFDIR` or `PREFIX/etc` if you changed `PREFIX`).
-
-    sudo mkdir -p /usr/local/etc/ndn/keys
-    ndnsec-cert-dump -i /`whoami` > default.ndncert
-    sudo mv default.ndncert /usr/local/etc/ndn/keys/default.ndncert
-
-## Running NFD with Ethernet Face Support
-
-The ether configuration file section contains settings for Ethernet
-faces and channels.  These settings will **NOT** work without root or
-setting the appropriate permissions:
-
-    sudo setcap cap_net_raw,cap_net_admin=eip /full/path/nfd
-
-You may need to install a package to use setcap:
-
-**Ubuntu:**
-
-    sudo apt-get install libcap2-bin
-
-**Mac OS X:**
-
-    curl https://bugs.wireshark.org/bugzilla/attachment.cgi?id=3373 -o ChmodBPF.tar.gz
-    tar zxvf ChmodBPF.tar.gz
-    open ChmodBPF/Install\ ChmodBPF.app
-
-or manually:
-
-    sudo chgrp admin /dev/bpf*
-    sudo chmod g+rw /dev/bpf*
-
-## UDP multicast support in multi-homed Linux machines
-
-The UDP configuration file section contains settings for unicast and multicast UDP
-faces. If the Linux box is equipped with multiple network interfaces with multicast
-capabilities, the settings for multicast faces will **NOT** work without root
-or setting the appropriate permissions:
-
-    sudo setcap cap_net_raw=eip /full/path/nfd
+* [Installation instruction `docs/INSTALL.rst`](https://github.com/named-data/NFD/blob/master/docs/INSTALL.rst),
+* [Hints on configuration `docs/README.rst`](https://github.com/named-data/NFD/blob/master/docs/README.rst)
+* Other documentation in [`docs/`](https://github.com/named-data/NFD/blob/master/docs) folder.
