diff --git a/ndn-cpp/encoding/BinaryXMLWireFormat.cpp b/ndn-cpp/encoding/BinaryXMLWireFormat.cpp
index df5ad35..6899924 100644
--- a/ndn-cpp/encoding/BinaryXMLWireFormat.cpp
+++ b/ndn-cpp/encoding/BinaryXMLWireFormat.cpp
@@ -10,7 +10,7 @@
 #include "../Interest.hpp"
 #include "../ContentObject.hpp"
 #include "BinaryXMLEncoder.hpp"
-#include "../c/encoding/BinaryXMLDecoder.h"
+#include "BinaryXMLDecoder.hpp"
 #include "BinaryXMLWireFormat.hpp"
 
 using namespace std;
@@ -38,9 +38,7 @@
   struct ndn_Name nameStruct;
   ndn_Name_init(&nameStruct, components, sizeof(components) / sizeof(components[0]));
     
-  struct ndn_BinaryXMLDecoder decoder;
-  ndn_BinaryXMLDecoder_init(&decoder, (unsigned char *)input, inputLength);
-  
+  BinaryXMLDecoder decoder(input, inputLength);  
   ndn_Error error;
   if (error = ndn_decodeBinaryXMLName(&nameStruct, &decoder))
     throw std::runtime_error(ndn_getErrorString(error));
@@ -73,9 +71,7 @@
     (&interestStruct, nameComponents, sizeof(nameComponents) / sizeof(nameComponents[0]), 
      excludeEntries, sizeof(excludeEntries) / sizeof(excludeEntries[0]));
     
-  struct ndn_BinaryXMLDecoder decoder;
-  ndn_BinaryXMLDecoder_init(&decoder, (unsigned char *)input, inputLength);
-  
+  BinaryXMLDecoder decoder(input, inputLength);  
   ndn_Error error;
   if (error = ndn_decodeBinaryXMLInterest(&interestStruct, &decoder))
     throw std::runtime_error(ndn_getErrorString(error));
@@ -104,9 +100,7 @@
   ndn_ContentObject_init
     (&contentObjectStruct, nameComponents, sizeof(nameComponents) / sizeof(nameComponents[0]));
     
-  struct ndn_BinaryXMLDecoder decoder;
-  ndn_BinaryXMLDecoder_init(&decoder, (unsigned char *)input, inputLength);
-  
+  BinaryXMLDecoder decoder(input, inputLength);  
   ndn_Error error;
   if (error = ndn_decodeBinaryXMLContentObject(&contentObjectStruct, &decoder))
     throw std::runtime_error(ndn_getErrorString(error));
