diff --git a/daemon/table/cs-entry.hpp b/daemon/table/cs-entry.hpp
new file mode 100644
index 0000000..adb2b8c
--- /dev/null
+++ b/daemon/table/cs-entry.hpp
@@ -0,0 +1,23 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/**
+ * Copyright (C) 2014 Named Data Networking Project
+ * See COPYING for copyright and distribution information.
+ */
+
+#ifndef NFD_TABLE_CS_ENTRY_H
+#define NFD_TABLE_CS_ENTRY_H
+#include <boost/utility.hpp>
+namespace ndn {
+namespace cs {
+
+/** \class Entry
+ *  \brief represents a CS entry
+ */
+
+class Entry : boost::noncopyable
+{
+};
+
+};//namespace cs
+};//namespace ndn
+#endif//NFD_TABLE_CS_ENTRY_H
diff --git a/daemon/table/cs.cpp b/daemon/table/cs.cpp
new file mode 100644
index 0000000..fdf5168
--- /dev/null
+++ b/daemon/table/cs.cpp
@@ -0,0 +1,33 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/**
+ * Copyright (C) 2014 Named Data Networking Project
+ * See COPYING for copyright and distribution information.
+ */
+
+// XXX This is a fake CS that does not cache anything.
+
+#include "cs.hpp"
+namespace ndn {
+
+Cs::Cs()
+{
+}
+  
+Cs::~Cs()
+{
+}
+
+bool
+Cs::insert(boost::shared_ptr<Data> data)
+{
+  return false;
+}
+  
+boost::shared_ptr<cs::Entry>
+Cs::find(const Interest& interest)
+{
+  return boost::shared_ptr<cs::Entry>();
+}
+
+
+};//namespace ndn
diff --git a/daemon/table/cs.hpp b/daemon/table/cs.hpp
new file mode 100644
index 0000000..67283b6
--- /dev/null
+++ b/daemon/table/cs.hpp
@@ -0,0 +1,43 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/**
+ * Copyright (C) 2014 Named Data Networking Project
+ * 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>
+#include "cs-entry.hpp"
+namespace ndn {
+
+/** \class Cs
+ *  \brief represents the ContentStore
+ */
+class Cs : boost::noncopyable
+{
+public:
+  Cs();
+  
+  ~Cs();
+  
+  /** \brief inserts a Data packet
+   *  The caller should ensure that this Data packet is admittable,
+   *  ie. not unsolicited from a untrusted source.
+   *  This does not guarantee the Data is added to the cache;
+   *  even if the Data is added, it may be removed anytime in the future.
+   *  \return{ whether the Data is added }
+   */
+  bool
+  insert(boost::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>
+  find(const Interest& interest);
+};
+
+};//namespace ndn
+#endif//NFD_TABLE_CS_H
