diff --git a/daemon/table/cs-entry.hpp b/daemon/table/cs-entry.hpp
index adb2b8c..1726d87 100644
--- a/daemon/table/cs-entry.hpp
+++ b/daemon/table/cs-entry.hpp
@@ -4,9 +4,11 @@
  * See COPYING for copyright and distribution information.
  */
 
-#ifndef NFD_TABLE_CS_ENTRY_H
-#define NFD_TABLE_CS_ENTRY_H
-#include <boost/utility.hpp>
+#ifndef NFD_TABLE_CS_ENTRY_HPP
+#define NFD_TABLE_CS_ENTRY_HPP
+
+#include "common.hpp"
+
 namespace ndn {
 namespace cs {
 
@@ -14,10 +16,11 @@
  *  \brief represents a CS entry
  */
 
-class Entry : boost::noncopyable
+class Entry : noncopyable
 {
 };
 
-};//namespace cs
-};//namespace ndn
-#endif//NFD_TABLE_CS_ENTRY_H
+} // namespace cs
+} // namespace ndn
+
+#endif // NFD_TABLE_CS_ENTRY_HPP
diff --git a/daemon/table/cs.cpp b/daemon/table/cs.cpp
index fdf5168..d437dbd 100644
--- a/daemon/table/cs.cpp
+++ b/daemon/table/cs.cpp
@@ -7,6 +7,7 @@
 // XXX This is a fake CS that does not cache anything.
 
 #include "cs.hpp"
+
 namespace ndn {
 
 Cs::Cs()
@@ -18,16 +19,16 @@
 }
 
 bool
-Cs::insert(boost::shared_ptr<Data> data)
+Cs::insert(shared_ptr<Data> data)
 {
   return false;
 }
   
-boost::shared_ptr<cs::Entry>
+shared_ptr<Data>
 Cs::find(const Interest& interest)
 {
-  return boost::shared_ptr<cs::Entry>();
+  return shared_ptr<Data>();
 }
 
 
-};//namespace ndn
+} //namespace ndn
diff --git a/daemon/table/cs.hpp b/daemon/table/cs.hpp
index 67283b6..c1c3e37 100644
--- a/daemon/table/cs.hpp
+++ b/daemon/table/cs.hpp
@@ -4,18 +4,18 @@
  * See COPYING for copyright and distribution information.
  */
 
-#ifndef NFD_TABLE_CS_H
-#define NFD_TABLE_CS_H
-#include <boost/shared_ptr.hpp>
-#include <ndn-cpp-dev/interest.hpp>
-#include <ndn-cpp-dev/data.hpp>
+#ifndef NFD_TABLE_CS_HPP
+#define NFD_TABLE_CS_HPP
+
+#include "common.hpp"
 #include "cs-entry.hpp"
+
 namespace ndn {
 
 /** \class Cs
  *  \brief represents the ContentStore
  */
-class Cs : boost::noncopyable
+class Cs : noncopyable
 {
 public:
   Cs();
@@ -30,14 +30,15 @@
    *  \return{ whether the Data is added }
    */
   bool
-  insert(boost::shared_ptr<Data> data);
+  insert(shared_ptr<Data> data);
   
   /** \brief finds the best match Data for an Interest
    *  \return{ the best match, if any; otherwise null }
    */
-  boost::shared_ptr<cs::Entry>
+  shared_ptr<Data>
   find(const Interest& interest);
 };
 
-};//namespace ndn
-#endif//NFD_TABLE_CS_H
+} // namespace ndn
+
+#endif // NFD_TABLE_CS_HPP
