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>
