diff --git a/include/ccnx-name.h b/include/ccnx-name.h
index 7c5447b..d652008 100644
--- a/include/ccnx-name.h
+++ b/include/ccnx-name.h
@@ -15,6 +15,7 @@
 public:
   CcnxCharbuf();
   CcnxCharbuf(ccn_charbuf *buf);
+  CcnxCharbuf(const CcnxCharbuf &other);
   ~CcnxCharbuf();
 
   // expose internal data structure, use with caution!!
@@ -22,6 +23,9 @@
   getBuf() { return m_buf; }
   static CcnxCharbufPtr Null;
 
+private:
+  void init(ccn_charbuf *buf);
+
 protected:
   ccn_charbuf *m_buf;
 };
diff --git a/src/ccnx-name.cpp b/src/ccnx-name.cpp
index 748410f..05df5b3 100644
--- a/src/ccnx-name.cpp
+++ b/src/ccnx-name.cpp
@@ -6,6 +6,18 @@
 namespace Ccnx{
 CcnxCharbufPtr CcnxCharbuf::Null;
 
+void
+CcnxCharbuf::init(ccn_charbuf *buf)
+{
+  if (buf != NULL)
+  {
+    m_buf = ccn_charbuf_create();
+    ccn_charbuf_reserve(m_buf, buf->length);
+    memcpy(m_buf->buf, buf->buf, buf->length);
+    m_buf->length = buf->length;
+  }
+}
+
 CcnxCharbuf::CcnxCharbuf()
             : m_buf(NULL)
 {
@@ -15,13 +27,13 @@
 CcnxCharbuf::CcnxCharbuf(ccn_charbuf *buf)
             : m_buf(NULL)
 {
-  if (buf != NULL)
-  {
-    m_buf = ccn_charbuf_create();
-    ccn_charbuf_reserve(m_buf, buf->length);
-    memcpy(m_buf->buf, buf->buf, buf->length);
-    m_buf->length = buf->length;
-  }
+  init(buf);
+}
+
+CcnxCharbuf::CcnxCharbuf(const CcnxCharbuf &other)
+            : m_buf (NULL)
+{
+  init(other.m_buf);
 }
 
 CcnxCharbuf::~CcnxCharbuf()
