diff --git a/Makefile.am b/Makefile.am
index 0761bfe..2a5ea63 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -22,6 +22,7 @@
   ndn-cpp/encoding/BinaryXMLStructureDecoder.hpp \
   ndn-cpp/encoding/BinaryXMLWireFormat.cpp ndn-cpp/encoding/BinaryXMLWireFormat.hpp \
   ndn-cpp/encoding/WireFormat.cpp ndn-cpp/encoding/WireFormat.hpp \
+  ndn-cpp/util/DynamicUCharArray.c ndn-cpp/util/DynamicUCharArray.h \
   ndn-cpp/util/ndn_memory.c ndn-cpp/util/ndn_memory.h
 
 test_encode_decode_interest_SOURCES = test/test-encode-decode-interest.cpp
diff --git a/ndn-cpp/util/DynamicUCharArray.c b/ndn-cpp/util/DynamicUCharArray.c
new file mode 100644
index 0000000..9cb53e7
--- /dev/null
+++ b/ndn-cpp/util/DynamicUCharArray.c
@@ -0,0 +1,13 @@
+/* 
+ * Author: Jeff Thompson
+ *
+ * BSD license, See the LICENSE file for more information.
+ */
+
+#include "ndn_memory.h"
+#include "DynamicUCharArray.h"
+
+char *ndn_DynamicUCharArray_reallocArray(struct ndn_DynamicUCharArray *self, unsigned int length)
+{
+  return "ndn_DynamicUCharArray_reallocArray: realloc function pointer not supplied";
+}
\ No newline at end of file
diff --git a/ndn-cpp/util/DynamicUCharArray.h b/ndn-cpp/util/DynamicUCharArray.h
new file mode 100644
index 0000000..aaa26c1
--- /dev/null
+++ b/ndn-cpp/util/DynamicUCharArray.h
@@ -0,0 +1,52 @@
+/* 
+ * Author: Jeff Thompson
+ *
+ * BSD license, See the LICENSE file for more information.
+ */
+
+#ifndef NDN_DYNAMICUCHARARRAY_H
+#define	NDN_DYNAMICUCHARARRAY_H
+
+#ifdef	__cplusplus
+extern "C" {
+#endif
+
+struct ndn_DynamicUCharArray {
+  unsigned char *array;
+  unsigned int length;
+  unsigned char (*realloc)(unsigned char *array, unsigned int length);
+};
+
+static inline void ndn_DynamicUCharArray_init
+  (struct ndn_DynamicUCharArray *self, unsigned char *array, unsigned int length, unsigned char (*reallocFunction)(unsigned char *, unsigned int)) 
+{
+  self->array = array;
+  self->length = length;
+  self->realloc = reallocFunction;
+}
+
+char *ndn_DynamicUCharArray_reallocArray(struct ndn_DynamicUCharArray *self, unsigned int length);
+
+static inline char *ndn_DynamicUCharArray_ensureLength(struct ndn_DynamicUCharArray *self, unsigned int length) 
+{
+  if (self->length >= length)
+    return 0;
+
+  return ndn_DynamicUCharArray_reallocArray(self, length);
+}
+
+static inline char *ndn_DynamicUCharArray_set
+  (struct ndn_DynamicUCharArray *self, unsigned char *value, unsigned int valueLength, unsigned int offset) 
+{
+  char *error;
+  if (error = ndn_DynamicUCharArray_ensureLength(self, valueLength + offset))
+    return error;
+  ndn_memcpy(self->array + offset, value, valueLength);
+};
+
+#ifdef	__cplusplus
+}
+#endif
+
+#endif
+
