diff --git a/daemon/table/cs.cpp b/daemon/table/cs.cpp
index 8578a0d..0dd5ca2 100644
--- a/daemon/table/cs.cpp
+++ b/daemon/table/cs.cpp
@@ -24,7 +24,6 @@
  */
 
 #include "cs.hpp"
-#include "cs-policy-priority-fifo.hpp"
 #include "core/logger.hpp"
 #include "core/algorithm.hpp"
 #include <ndn-cxx/lp/tags.hpp>
@@ -48,12 +47,13 @@
 unique_ptr<Policy>
 makeDefaultPolicy()
 {
-  return make_unique<PriorityFifoPolicy>();
+  const std::string DEFAULT_POLICY = "priority_fifo";
+  return Policy::create(DEFAULT_POLICY);
 }
 
 Cs::Cs(size_t nMaxPackets, unique_ptr<Policy> policy)
 {
-  this->setPolicyImpl(policy);
+  this->setPolicyImpl(std::move(policy));
   m_policy->setLimit(nMaxPackets);
 }
 
@@ -75,7 +75,7 @@
   BOOST_ASSERT(policy != nullptr);
   BOOST_ASSERT(m_policy != nullptr);
   size_t limit = m_policy->getLimit();
-  this->setPolicyImpl(policy);
+  this->setPolicyImpl(std::move(policy));
   m_policy->setLimit(limit);
 }
 
@@ -200,8 +200,9 @@
 }
 
 void
-Cs::setPolicyImpl(unique_ptr<Policy>& policy)
+Cs::setPolicyImpl(unique_ptr<Policy> policy)
 {
+  NFD_LOG_DEBUG("set-policy " << policy->getName());
   m_policy = std::move(policy);
   m_beforeEvictConnection = m_policy->beforeEvict.connect([this] (iterator it) {
       m_table.erase(it);
