diff --git a/src/ccnx-pco.cpp b/src/ccnx-pco.cpp
index f592f53..e2db766 100644
--- a/src/ccnx-pco.cpp
+++ b/src/ccnx-pco.cpp
@@ -31,7 +31,7 @@
 }
 
 Bytes
-ParsedContentObject::content()
+ParsedContentObject::content() const
 {
   const unsigned char *content;
   size_t len;
@@ -47,7 +47,7 @@
 }
 
 string
-ParsedContentObject::name()
+ParsedContentObject::name() const
 {
   return CcnxWrapper::extractName((const unsigned char *)m_bytes[0], m_comps);
 }
diff --git a/src/ccnx-wrapper.cpp b/src/ccnx-wrapper.cpp
index 58a2b7c..7549e3a 100644
--- a/src/ccnx-wrapper.cpp
+++ b/src/ccnx-wrapper.cpp
@@ -240,7 +240,7 @@
 }
 
 int
-CcnxWrapper::putToCcnd (Bytes &contentObject)
+CcnxWrapper::putToCcnd (const Bytes &contentObject)
 {
   recursive_mutex::scoped_lock lock(m_mutex);
   if (!m_running || !m_connected)
@@ -269,7 +269,7 @@
 }
 
 string
-CcnxWrapper::extractName(const unsigned char *data, ccn_indexbuf *comps)
+CcnxWrapper::extractName(const unsigned char *data, const ccn_indexbuf *comps)
 {
   ostringstream name (ostringstream::out);
   for (int i = 0; i < comps->n - 1; i++)
@@ -538,7 +538,7 @@
 }
 
 CcnxWrapper::TimeoutCallbackReturnValue
-ClosurePass::runTimeoutCallback(std::string interest)
+ClosurePass::runTimeoutCallback(const string &interest)
 {
   if ((*m_timeoutCallback).empty())
   {
@@ -550,7 +550,7 @@
 
 
 void 
-ClosurePass::runDataCallback(std::string name, const Bytes &content) 
+ClosurePass::runDataCallback(const string &name, const Bytes &content) 
 {
   if (m_dataCallback != NULL) {
     (*m_dataCallback)(name, content);
