diff --git a/common.hpp b/core/common.hpp
similarity index 96%
rename from common.hpp
rename to core/common.hpp
index a36852b..2f21da0 100644
--- a/common.hpp
+++ b/core/common.hpp
@@ -23,10 +23,10 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef NFD_COMMON_HPP
-#define NFD_COMMON_HPP
+#ifndef NFD_CORE_COMMON_HPP
+#define NFD_CORE_COMMON_HPP
 
-#include "config.hpp"
+#include "core/config.hpp"
 
 #ifdef WITH_TESTS
 #define VIRTUAL_WITH_TESTS virtual
@@ -116,4 +116,4 @@
 
 } // namespace nfd
 
-#endif // NFD_COMMON_HPP
+#endif // NFD_CORE_COMMON_HPP
diff --git a/version.hpp.in b/core/version.hpp.in
similarity index 78%
rename from version.hpp.in
rename to core/version.hpp.in
index 13027d4..189c9e6 100644
--- a/version.hpp.in
+++ b/core/version.hpp.in
@@ -1,12 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014,  Regents of the University of California,
- *                      Arizona Board of Regents,
- *                      Colorado State University,
- *                      University Pierre & Marie Curie, Sorbonne University,
- *                      Washington University in St. Louis,
- *                      Beijing Institute of Technology,
- *                      The University of Memphis
+ * Copyright (c) 2014-2016,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -23,8 +23,8 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef NFD_VERSION_HPP
-#define NFD_VERSION_HPP
+#ifndef NFD_CORE_VERSION_HPP
+#define NFD_CORE_VERSION_HPP
 
 namespace nfd {
 
@@ -71,4 +71,4 @@
 
 } // namespace nfd
 
-#endif // NFD_VERSION_HPP
+#endif // NFD_CORE_VERSION_HPP
diff --git a/daemon/face/ethernet-transport.hpp b/daemon/face/ethernet-transport.hpp
index 348cabf..2b1229a 100644
--- a/daemon/face/ethernet-transport.hpp
+++ b/daemon/face/ethernet-transport.hpp
@@ -26,7 +26,7 @@
 #ifndef NFD_DAEMON_FACE_ETHERNET_TRANSPORT_HPP
 #define NFD_DAEMON_FACE_ETHERNET_TRANSPORT_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 #include "transport.hpp"
 #include "core/network-interface.hpp"
 
diff --git a/daemon/face/generic-link-service.hpp b/daemon/face/generic-link-service.hpp
index dde6990..c9adcd7 100644
--- a/daemon/face/generic-link-service.hpp
+++ b/daemon/face/generic-link-service.hpp
@@ -26,7 +26,7 @@
 #ifndef NFD_DAEMON_FACE_GENERIC_LINK_SERVICE_HPP
 #define NFD_DAEMON_FACE_GENERIC_LINK_SERVICE_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 #include "core/logger.hpp"
 
 #include "link-service.hpp"
diff --git a/daemon/face/udp-protocol.hpp b/daemon/face/udp-protocol.hpp
index 76a7bed..5f7c25a 100644
--- a/daemon/face/udp-protocol.hpp
+++ b/daemon/face/udp-protocol.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -26,7 +26,7 @@
 #ifndef NFD_DAEMON_FACE_UDP_PROTOCOL_HPP
 #define NFD_DAEMON_FACE_UDP_PROTOCOL_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 
 namespace nfd {
 namespace udp {
diff --git a/daemon/fw/asf-probing-module.cpp b/daemon/fw/asf-probing-module.cpp
index 097a372..d60a215 100644
--- a/daemon/fw/asf-probing-module.cpp
+++ b/daemon/fw/asf-probing-module.cpp
@@ -25,7 +25,7 @@
 
 #include "asf-probing-module.hpp"
 
-#include "random.hpp"
+#include "core/random.hpp"
 
 #include <boost/random/uniform_real_distribution.hpp>
 
diff --git a/daemon/fw/forwarder.hpp b/daemon/fw/forwarder.hpp
index 3c80419..b561d6f 100644
--- a/daemon/fw/forwarder.hpp
+++ b/daemon/fw/forwarder.hpp
@@ -26,7 +26,7 @@
 #ifndef NFD_DAEMON_FW_FORWARDER_HPP
 #define NFD_DAEMON_FW_FORWARDER_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 #include "core/scheduler.hpp"
 #include "forwarder-counters.hpp"
 #include "face-table.hpp"
diff --git a/daemon/fw/rtt-estimator.hpp b/daemon/fw/rtt-estimator.hpp
index a830c5a..b692083 100644
--- a/daemon/fw/rtt-estimator.hpp
+++ b/daemon/fw/rtt-estimator.hpp
@@ -1,12 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014  Regents of the University of California,
- *                     Arizona Board of Regents,
- *                     Colorado State University,
- *                     University Pierre & Marie Curie, Sorbonne University,
- *                     Washington University in St. Louis,
- *                     Beijing Institute of Technology,
- *                     The University of Memphis
+ * Copyright (c) 2014-2016,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -21,12 +21,12 @@
  *
  * You should have received a copy of the GNU General Public License along with
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
 
 #ifndef NFD_DAEMON_FW_RTT_ESTIMATOR_HPP
 #define NFD_DAEMON_FW_RTT_ESTIMATOR_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 
 namespace nfd {
 
diff --git a/daemon/fw/strategy-info.hpp b/daemon/fw/strategy-info.hpp
index fecd8e1..133d53c 100644
--- a/daemon/fw/strategy-info.hpp
+++ b/daemon/fw/strategy-info.hpp
@@ -1,12 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014,  Regents of the University of California,
- *                      Arizona Board of Regents,
- *                      Colorado State University,
- *                      University Pierre & Marie Curie, Sorbonne University,
- *                      Washington University in St. Louis,
- *                      Beijing Institute of Technology,
- *                      The University of Memphis
+ * Copyright (c) 2014-2016,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -26,7 +26,7 @@
 #ifndef NFD_DAEMON_FW_STRATEGY_INFO_HPP
 #define NFD_DAEMON_FW_STRATEGY_INFO_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 
 namespace nfd {
 namespace fw {
diff --git a/daemon/fw/strategy-registry.hpp b/daemon/fw/strategy-registry.hpp
index 6675004..83e9f73 100644
--- a/daemon/fw/strategy-registry.hpp
+++ b/daemon/fw/strategy-registry.hpp
@@ -26,7 +26,7 @@
 #ifndef NFD_DAEMON_FW_STRATEGY_REGISTRY_HPP
 #define NFD_DAEMON_FW_STRATEGY_REGISTRY_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 
 namespace nfd {
 
diff --git a/daemon/main.cpp b/daemon/main.cpp
index 3a827c3..6be7551 100644
--- a/daemon/main.cpp
+++ b/daemon/main.cpp
@@ -26,7 +26,7 @@
 #include "nfd.hpp"
 #include "rib/service.hpp"
 
-#include "version.hpp"
+#include "core/version.hpp"
 #include "core/global-io.hpp"
 #include "core/logger.hpp"
 #include "core/privilege-helper.hpp"
diff --git a/daemon/mgmt/command-validator.hpp b/daemon/mgmt/command-validator.hpp
index b2cb184..dc7d675 100644
--- a/daemon/mgmt/command-validator.hpp
+++ b/daemon/mgmt/command-validator.hpp
@@ -1,11 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014  Regents of the University of California,
- *                     Arizona Board of Regents,
- *                     Colorado State University,
- *                     University Pierre & Marie Curie, Sorbonne University,
- *                     Washington University in St. Louis,
- *                     Beijing Institute of Technology
+ * Copyright (c) 2014-2016,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -20,13 +21,12 @@
  *
  * You should have received a copy of the GNU General Public License along with
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
 
 #ifndef NFD_DAEMON_MGMT_COMMAND_VALIDATOR_HPP
 #define NFD_DAEMON_MGMT_COMMAND_VALIDATOR_HPP
 
-#include "common.hpp"
-#include "config-file.hpp"
+#include "core/config-file.hpp"
 #include <ndn-cxx/util/command-interest-validator.hpp>
 
 namespace nfd {
diff --git a/daemon/mgmt/forwarder-status-manager.cpp b/daemon/mgmt/forwarder-status-manager.cpp
index 486e621..27cf4e2 100644
--- a/daemon/mgmt/forwarder-status-manager.cpp
+++ b/daemon/mgmt/forwarder-status-manager.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -25,7 +25,7 @@
 
 #include "forwarder-status-manager.hpp"
 #include "fw/forwarder.hpp"
-#include "version.hpp"
+#include "core/version.hpp"
 
 namespace nfd {
 
diff --git a/daemon/mgmt/forwarder-status-manager.hpp b/daemon/mgmt/forwarder-status-manager.hpp
index 44c112b..03c10e2 100644
--- a/daemon/mgmt/forwarder-status-manager.hpp
+++ b/daemon/mgmt/forwarder-status-manager.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -26,7 +26,7 @@
 #ifndef NFD_DAEMON_MGMT_FORWARDER_STATUS_MANAGER_HPP
 #define NFD_DAEMON_MGMT_FORWARDER_STATUS_MANAGER_HPP
 
-#include "manager-base.hpp"
+#include "core/manager-base.hpp"
 #include <ndn-cxx/management/nfd-forwarder-status.hpp>
 
 namespace nfd {
diff --git a/daemon/mgmt/general-config-section.cpp b/daemon/mgmt/general-config-section.cpp
index ed6f99e..2b573b3 100644
--- a/daemon/mgmt/general-config-section.cpp
+++ b/daemon/mgmt/general-config-section.cpp
@@ -1,11 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014  Regents of the University of California,
- *                     Arizona Board of Regents,
- *                     Colorado State University,
- *                     University Pierre & Marie Curie, Sorbonne University,
- *                     Washington University in St. Louis,
- *                     Beijing Institute of Technology
+ * Copyright (c) 2014-2016,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -20,11 +21,10 @@
  *
  * You should have received a copy of the GNU General Public License along with
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
 
 #include "general-config-section.hpp"
 
-#include "common.hpp"
 #include "core/logger.hpp"
 #include "core/privilege-helper.hpp"
 #include "core/config-file.hpp"
diff --git a/daemon/mgmt/nfd-manager-base.hpp b/daemon/mgmt/nfd-manager-base.hpp
index 6273624..c7f30ff 100644
--- a/daemon/mgmt/nfd-manager-base.hpp
+++ b/daemon/mgmt/nfd-manager-base.hpp
@@ -26,7 +26,7 @@
 #ifndef NFD_DAEMON_MGMT_NFD_MANAGER_BASE_HPP
 #define NFD_DAEMON_MGMT_NFD_MANAGER_BASE_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 #include "command-validator.hpp"
 #include "core/manager-base.hpp"
 
diff --git a/daemon/mgmt/tables-config-section.cpp b/daemon/mgmt/tables-config-section.cpp
index 773e906..8422a5b 100644
--- a/daemon/mgmt/tables-config-section.cpp
+++ b/daemon/mgmt/tables-config-section.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -25,7 +25,6 @@
 
 #include "tables-config-section.hpp"
 
-#include "common.hpp"
 #include "core/logger.hpp"
 #include "core/config-file.hpp"
 
diff --git a/daemon/nfd.hpp b/daemon/nfd.hpp
index dd97cf4..d8fd12e 100644
--- a/daemon/nfd.hpp
+++ b/daemon/nfd.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -26,7 +26,6 @@
 #ifndef NFD_DAEMON_NFD_HPP
 #define NFD_DAEMON_NFD_HPP
 
-#include "common.hpp"
 #include "core/config-file.hpp"
 #include "core/scheduler.hpp"
 
diff --git a/daemon/table/cs-entry.hpp b/daemon/table/cs-entry.hpp
index fe7846c..68289cf 100644
--- a/daemon/table/cs-entry.hpp
+++ b/daemon/table/cs-entry.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -26,7 +26,7 @@
 #ifndef NFD_DAEMON_TABLE_CS_ENTRY_HPP
 #define NFD_DAEMON_TABLE_CS_ENTRY_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 
 namespace nfd {
 namespace cs {
diff --git a/daemon/table/cs-internal.hpp b/daemon/table/cs-internal.hpp
index 3f22bcd..acf9f52 100644
--- a/daemon/table/cs-internal.hpp
+++ b/daemon/table/cs-internal.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -30,7 +30,7 @@
 #ifndef NFD_DAEMON_TABLE_CS_INTERNAL_HPP
 #define NFD_DAEMON_TABLE_CS_INTERNAL_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 
 namespace nfd {
 namespace cs {
diff --git a/daemon/table/cs-policy-lru.hpp b/daemon/table/cs-policy-lru.hpp
index 81f65bb..2cef234 100644
--- a/daemon/table/cs-policy-lru.hpp
+++ b/daemon/table/cs-policy-lru.hpp
@@ -27,7 +27,7 @@
 #define NFD_DAEMON_TABLE_CS_POLICY_LRU_HPP
 
 #include "cs-policy.hpp"
-#include "common.hpp"
+#include "core/common.hpp"
 
 #include <boost/multi_index_container.hpp>
 #include <boost/multi_index/sequenced_index.hpp>
@@ -103,4 +103,4 @@
 } // namespace cs
 } // namespace nfd
 
-#endif // NFD_DAEMON_TABLE_CS_POLICY_LRU_HPP
\ No newline at end of file
+#endif // NFD_DAEMON_TABLE_CS_POLICY_LRU_HPP
diff --git a/daemon/table/cs-policy-priority-fifo.hpp b/daemon/table/cs-policy-priority-fifo.hpp
index c453990..436afd9 100644
--- a/daemon/table/cs-policy-priority-fifo.hpp
+++ b/daemon/table/cs-policy-priority-fifo.hpp
@@ -27,7 +27,6 @@
 #define NFD_DAEMON_TABLE_CS_POLICY_FIFO_HPP
 
 #include "cs-policy.hpp"
-#include "common.hpp"
 #include "core/scheduler.hpp"
 
 namespace nfd {
diff --git a/daemon/table/dead-nonce-list.hpp b/daemon/table/dead-nonce-list.hpp
index 1c7f7cc..050da35 100644
--- a/daemon/table/dead-nonce-list.hpp
+++ b/daemon/table/dead-nonce-list.hpp
@@ -1,12 +1,12 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014,  Regents of the University of California,
- *                      Arizona Board of Regents,
- *                      Colorado State University,
- *                      University Pierre & Marie Curie, Sorbonne University,
- *                      Washington University in St. Louis,
- *                      Beijing Institute of Technology,
- *                      The University of Memphis
+ * Copyright (c) 2014-2016,  Regents of the University of California,
+ *                           Arizona Board of Regents,
+ *                           Colorado State University,
+ *                           University Pierre & Marie Curie, Sorbonne University,
+ *                           Washington University in St. Louis,
+ *                           Beijing Institute of Technology,
+ *                           The University of Memphis.
  *
  * This file is part of NFD (Named Data Networking Forwarding Daemon).
  * See AUTHORS.md for complete list of NFD authors and contributors.
@@ -26,7 +26,7 @@
 #ifndef NFD_DAEMON_TABLE_DEAD_NONCE_LIST_HPP
 #define NFD_DAEMON_TABLE_DEAD_NONCE_LIST_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 #include <boost/multi_index_container.hpp>
 #include <boost/multi_index/sequenced_index.hpp>
 #include <boost/multi_index/hashed_index.hpp>
diff --git a/daemon/table/fib-nexthop.hpp b/daemon/table/fib-nexthop.hpp
index c8c006e..83b774f 100644
--- a/daemon/table/fib-nexthop.hpp
+++ b/daemon/table/fib-nexthop.hpp
@@ -26,7 +26,7 @@
 #ifndef NFD_DAEMON_TABLE_FIB_NEXTHOP_HPP
 #define NFD_DAEMON_TABLE_FIB_NEXTHOP_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 #include "face/face.hpp"
 
 namespace nfd {
diff --git a/daemon/table/measurements-entry.hpp b/daemon/table/measurements-entry.hpp
index 933baef..c0ec0f2 100644
--- a/daemon/table/measurements-entry.hpp
+++ b/daemon/table/measurements-entry.hpp
@@ -26,7 +26,6 @@
 #ifndef NFD_DAEMON_TABLE_MEASUREMENTS_ENTRY_HPP
 #define NFD_DAEMON_TABLE_MEASUREMENTS_ENTRY_HPP
 
-#include "common.hpp"
 #include "strategy-info-host.hpp"
 #include "core/scheduler.hpp"
 
diff --git a/daemon/table/name-tree-entry.hpp b/daemon/table/name-tree-entry.hpp
index 23acdd0..4d7ad0c 100644
--- a/daemon/table/name-tree-entry.hpp
+++ b/daemon/table/name-tree-entry.hpp
@@ -26,7 +26,7 @@
 #ifndef NFD_DAEMON_TABLE_NAME_TREE_ENTRY_HPP
 #define NFD_DAEMON_TABLE_NAME_TREE_ENTRY_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 #include "table/fib-entry.hpp"
 #include "table/pit-entry.hpp"
 #include "table/measurements-entry.hpp"
diff --git a/daemon/table/name-tree.hpp b/daemon/table/name-tree.hpp
index 460e497..fa20034 100644
--- a/daemon/table/name-tree.hpp
+++ b/daemon/table/name-tree.hpp
@@ -26,7 +26,7 @@
 #ifndef NFD_DAEMON_TABLE_NAME_TREE_HPP
 #define NFD_DAEMON_TABLE_NAME_TREE_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 #include "name-tree-entry.hpp"
 
 namespace nfd {
diff --git a/daemon/table/network-region-table.hpp b/daemon/table/network-region-table.hpp
index 2a423a7..663d2f5 100644
--- a/daemon/table/network-region-table.hpp
+++ b/daemon/table/network-region-table.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -26,7 +26,7 @@
 #ifndef NFD_DAEMON_TABLE_NETWORK_REGION_TABLE_HPP
 #define NFD_DAEMON_TABLE_NETWORK_REGION_TABLE_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 
 namespace nfd {
 
diff --git a/daemon/table/strategy-choice-entry.hpp b/daemon/table/strategy-choice-entry.hpp
index e02a5ab..3a21731 100644
--- a/daemon/table/strategy-choice-entry.hpp
+++ b/daemon/table/strategy-choice-entry.hpp
@@ -26,7 +26,7 @@
 #ifndef NFD_DAEMON_TABLE_STRATEGY_CHOICE_ENTRY_HPP
 #define NFD_DAEMON_TABLE_STRATEGY_CHOICE_ENTRY_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 
 namespace nfd {
 
diff --git a/rib/fib-update.hpp b/rib/fib-update.hpp
index 589871a..fb4c338 100644
--- a/rib/fib-update.hpp
+++ b/rib/fib-update.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -26,7 +26,7 @@
 #ifndef NFD_RIB_FIB_UPDATE_HPP
 #define NFD_RIB_FIB_UPDATE_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 
 namespace nfd {
 namespace rib {
diff --git a/rib/fib-updater.hpp b/rib/fib-updater.hpp
index bfa0901..2d7761a 100644
--- a/rib/fib-updater.hpp
+++ b/rib/fib-updater.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -26,7 +26,7 @@
 #ifndef NFD_RIB_FIB_UPDATER_HPP
 #define NFD_RIB_FIB_UPDATER_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 #include "fib-update.hpp"
 #include "rib.hpp"
 #include "rib-update-batch.hpp"
diff --git a/rib/rib-update-batch.hpp b/rib/rib-update-batch.hpp
index 15e9ecd..e8d6324 100644
--- a/rib/rib-update-batch.hpp
+++ b/rib/rib-update-batch.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -26,7 +26,7 @@
 #ifndef NFD_RIB_RIB_UPDATE_BATCH_HPP
 #define NFD_RIB_RIB_UPDATE_BATCH_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 #include "rib-update.hpp"
 
 namespace nfd {
diff --git a/rib/rib-update.hpp b/rib/rib-update.hpp
index 4b9d5dd..cd2b6d7 100644
--- a/rib/rib-update.hpp
+++ b/rib/rib-update.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -26,7 +26,7 @@
 #ifndef NFD_RIB_RIB_UPDATE_HPP
 #define NFD_RIB_RIB_UPDATE_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 #include "route.hpp"
 
 namespace nfd {
diff --git a/rib/rib.hpp b/rib/rib.hpp
index 2e13692..db452b4 100644
--- a/rib/rib.hpp
+++ b/rib/rib.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -26,8 +26,6 @@
 #ifndef NFD_RIB_RIB_HPP
 #define NFD_RIB_RIB_HPP
 
-#include "common.hpp"
-
 #include "rib-entry.hpp"
 #include "rib-update-batch.hpp"
 
@@ -131,6 +129,9 @@
   void
   onRouteExpiration(const Name& prefix, const Route& route);
 
+  void
+  insert(const Name& prefix, const Route& route);
+
 private:
   /** \brief adds the passed update to a RibUpdateBatch and adds the batch to
   *          the end of the update queue.
@@ -161,11 +162,6 @@
   // Used by RibManager unit-tests to get sent batch to simulate successful FIB update
   function<void(RibUpdateBatch)> m_onSendBatchFromQueue;
 
-public:
-  void
-  insert(const Name& prefix, const Route& route);
-
-PUBLIC_WITH_TESTS_ELSE_PRIVATE:
   void
   erase(const Name& prefix, const Route& route);
 
diff --git a/rib/route.hpp b/rib/route.hpp
index 9e0935a..b93ed0c 100644
--- a/rib/route.hpp
+++ b/rib/route.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -26,7 +26,6 @@
 #ifndef NFD_RIB_ROUTE_HPP
 #define NFD_RIB_ROUTE_HPP
 
-#include "common.hpp"
 #include "core/scheduler.hpp"
 #include <ndn-cxx/encoding/nfd-constants.hpp>
 
diff --git a/rib/service.hpp b/rib/service.hpp
index 5cb60d9..ae7b23f 100644
--- a/rib/service.hpp
+++ b/rib/service.hpp
@@ -26,7 +26,7 @@
 #ifndef NFD_RIB_SERVICE_HPP
 #define NFD_RIB_SERVICE_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 #include "core/config-file.hpp"
 
 #include <ndn-cxx/face.hpp>
diff --git a/tests/core/ndebug.t.cpp b/tests/core/ndebug.t.cpp
index 5ef4d1d..a624b6b 100644
--- a/tests/core/ndebug.t.cpp
+++ b/tests/core/ndebug.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -23,7 +23,7 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "common.hpp"
+#include "core/common.hpp"
 
 #include "tests/test-common.hpp"
 
diff --git a/tests/core/version.t.cpp b/tests/core/version.t.cpp
index a8f985d..bf8d467 100644
--- a/tests/core/version.t.cpp
+++ b/tests/core/version.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -23,7 +23,7 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "version.hpp"
+#include "core/version.hpp"
 #include "core/logger.hpp"
 
 #include "tests/test-common.hpp"
diff --git a/tests/daemon/face/dummy-receive-link-service.hpp b/tests/daemon/face/dummy-receive-link-service.hpp
index 1d40653..389c0d9 100644
--- a/tests/daemon/face/dummy-receive-link-service.hpp
+++ b/tests/daemon/face/dummy-receive-link-service.hpp
@@ -26,7 +26,7 @@
 #ifndef NFD_TESTS_DAEMON_FACE_DUMMY_RECEIVE_LINK_SERVICE_HPP
 #define NFD_TESTS_DAEMON_FACE_DUMMY_RECEIVE_LINK_SERVICE_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 
 #include "face/link-service.hpp"
 
diff --git a/tests/daemon/face/dummy-transport.hpp b/tests/daemon/face/dummy-transport.hpp
index 4dfda76..951b1a5 100644
--- a/tests/daemon/face/dummy-transport.hpp
+++ b/tests/daemon/face/dummy-transport.hpp
@@ -26,7 +26,7 @@
 #ifndef NFD_TESTS_DAEMON_FACE_DUMMY_TRANSPORT_HPP
 #define NFD_TESTS_DAEMON_FACE_DUMMY_TRANSPORT_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 
 #include "face/transport.hpp"
 
diff --git a/tests/daemon/mgmt/forwarder-status-manager.t.cpp b/tests/daemon/mgmt/forwarder-status-manager.t.cpp
index c38482b..c267943 100644
--- a/tests/daemon/mgmt/forwarder-status-manager.t.cpp
+++ b/tests/daemon/mgmt/forwarder-status-manager.t.cpp
@@ -24,7 +24,7 @@
  */
 
 #include "mgmt/forwarder-status-manager.hpp"
-#include "version.hpp"
+#include "core/version.hpp"
 
 #include "nfd-manager-common-fixture.hpp"
 
diff --git a/tests/wscript b/tests/wscript
index dc82fe6..0ab7ec6 100644
--- a/tests/wscript
+++ b/tests/wscript
@@ -1,12 +1,13 @@
 # -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
 
 """
-Copyright (c) 2014  Regents of the University of California,
-                    Arizona Board of Regents,
-                    Colorado State University,
-                    University Pierre & Marie Curie, Sorbonne University,
-                    Washington University in St. Louis,
-                    Beijing Institute of Technology
+Copyright (c) 2014-2016,  Regents of the University of California,
+                          Arizona Board of Regents,
+                          Colorado State University,
+                          University Pierre & Marie Curie, Sorbonne University,
+                          Washington University in St. Louis,
+                          Beijing Institute of Technology,
+                          The University of Memphis.
 
 This file is part of NFD (Named Data Networking Forwarding Daemon).
 See AUTHORS.md for complete list of NFD authors and contributors.
@@ -36,7 +37,7 @@
             features='cxx pch',
             source=bld.path.ant_glob(['*.cpp'], excl='main.cpp'),
             use='core-objects',
-            headers='../common.hpp boost-test.hpp',
+            headers='../core/common.hpp boost-test.hpp',
             defines='UNIT_TEST_CONFIG_PATH=\"%s/tmp-files/\"' % bld.bldnode,
           )
 
diff --git a/tools/ndn-autoconfig-server.cpp b/tools/ndn-autoconfig-server.cpp
index 84bcf74..50632ee 100644
--- a/tools/ndn-autoconfig-server.cpp
+++ b/tools/ndn-autoconfig-server.cpp
@@ -23,7 +23,7 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "version.hpp"
+#include "core/version.hpp"
 #include <ndn-cxx/encoding/tlv-nfd.hpp>
 #include <ndn-cxx/face.hpp>
 #include <ndn-cxx/security/key-chain.hpp>
diff --git a/tools/ndn-autoconfig/base.hpp b/tools/ndn-autoconfig/base.hpp
index bf195c6..d69f49c 100644
--- a/tools/ndn-autoconfig/base.hpp
+++ b/tools/ndn-autoconfig/base.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -26,9 +26,7 @@
 #ifndef NFD_TOOLS_NDN_AUTOCONFIG_BASE_HPP
 #define NFD_TOOLS_NDN_AUTOCONFIG_BASE_HPP
 
-#include "common.hpp"
-
-#include <boost/noncopyable.hpp>
+#include "core/common.hpp"
 
 #include <ndn-cxx/face.hpp>
 #include <ndn-cxx/security/key-chain.hpp>
diff --git a/tools/ndn-autoconfig/main.cpp b/tools/ndn-autoconfig/main.cpp
index 1708bdb..666cca1 100644
--- a/tools/ndn-autoconfig/main.cpp
+++ b/tools/ndn-autoconfig/main.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -23,7 +23,7 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "version.hpp"
+#include "core/version.hpp"
 
 #include "multicast-discovery.hpp"
 #include "guess-from-search-domains.hpp"
diff --git a/tools/nfd-autoreg.cpp b/tools/nfd-autoreg.cpp
index 6cc3288..b21fe6d 100644
--- a/tools/nfd-autoreg.cpp
+++ b/tools/nfd-autoreg.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -37,7 +37,7 @@
 #include <boost/program_options/variables_map.hpp>
 #include <boost/program_options/parsers.hpp>
 
-#include "version.hpp"
+#include "core/version.hpp"
 #include "core/network.hpp"
 
 using namespace ndn::nfd;
diff --git a/tools/nfd-status/format-helpers.hpp b/tools/nfd-status/format-helpers.hpp
index 11d3d5a..f98d8f1 100644
--- a/tools/nfd-status/format-helpers.hpp
+++ b/tools/nfd-status/format-helpers.hpp
@@ -26,7 +26,7 @@
 #ifndef NFD_TOOLS_NFD_STATUS_FORMAT_HELPERS_HPP
 #define NFD_TOOLS_NFD_STATUS_FORMAT_HELPERS_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 
 namespace nfd {
 namespace tools {
diff --git a/tools/nfd-status/main.cpp b/tools/nfd-status/main.cpp
index a3033a6..b43e4cc 100644
--- a/tools/nfd-status/main.cpp
+++ b/tools/nfd-status/main.cpp
@@ -23,7 +23,7 @@
  * NFD, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "version.hpp"
+#include "core/version.hpp"
 #include <ndn-cxx/security/validator-null.hpp>
 
 #include <boost/program_options/options_description.hpp>
diff --git a/tools/nfd-status/module.hpp b/tools/nfd-status/module.hpp
index 07d5647..bf1b90c 100644
--- a/tools/nfd-status/module.hpp
+++ b/tools/nfd-status/module.hpp
@@ -26,7 +26,7 @@
 #ifndef NFD_TOOLS_NFD_STATUS_MODULE_HPP
 #define NFD_TOOLS_NFD_STATUS_MODULE_HPP
 
-#include "common.hpp"
+#include "core/common.hpp"
 #include <ndn-cxx/management/nfd-controller.hpp>
 
 namespace nfd {
diff --git a/tools/nfdc.cpp b/tools/nfdc.cpp
index fcb808f..31ce4f3 100644
--- a/tools/nfdc.cpp
+++ b/tools/nfdc.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California,
+ * Copyright (c) 2014-2016,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -24,7 +24,7 @@
  */
 
 #include "nfdc.hpp"
-#include "version.hpp"
+#include "core/version.hpp"
 
 #include <boost/lexical_cast.hpp>
 #include <boost/algorithm/string.hpp>
diff --git a/wscript b/wscript
index f7b9cd9..54cbe4e 100644
--- a/wscript
+++ b/wscript
@@ -156,15 +156,15 @@
     if not conf.options.debug:
         conf.define('NDEBUG', 1)
 
-    conf.write_config_header('config.hpp')
+    conf.write_config_header('core/config.hpp')
 
 def build(bld):
     version(bld)
 
     bld(features="subst",
         name='version',
-        source='version.hpp.in',
-        target='version.hpp',
+        source='core/version.hpp.in',
+        target='core/version.hpp',
         install_path=None,
         VERSION_STRING=VERSION_BASE,
         VERSION_BUILD=VERSION,
@@ -184,8 +184,8 @@
                                  excl=['core/logger*.cpp']),
         use='version NDN_CXX BOOST LIBRT',
         includes='. core',
-        export_includes='. core',
-        headers='common.hpp',
+        export_includes='.',
+        headers='core/common.hpp'
         )
 
     if bld.env['HAVE_CUSTOM_LOGGER']:
