diff --git a/src/face.cpp b/src/face.cpp
index b137765..f5ce755 100644
--- a/src/face.cpp
+++ b/src/face.cpp
@@ -12,16 +12,18 @@
 namespace ndn {
   
 uint64_t 
-Face::expressInterest(const Name& name, const Interest *interestTemplate, const OnData& onData, const OnTimeout& onTimeout)
+Face::expressInterest
+  (const Name& name, const Interest *interestTemplate, const OnData& onData, const OnTimeout& onTimeout,
+   WireFormat& wireFormat)
 {
   if (interestTemplate)
     return node_.expressInterest(Interest
       (name, interestTemplate->getMinSuffixComponents(), interestTemplate->getMaxSuffixComponents(),
        interestTemplate->getPublisherPublicKeyDigest(), interestTemplate->getExclude(),
        interestTemplate->getChildSelector(), interestTemplate->getAnswerOriginKind(),
-       interestTemplate->getScope(), interestTemplate->getInterestLifetimeMilliseconds()), onData, onTimeout);
+       interestTemplate->getScope(), interestTemplate->getInterestLifetimeMilliseconds()), onData, onTimeout, wireFormat);
   else
-    return node_.expressInterest(Interest(name, 4000.0), onData, onTimeout);  
+    return node_.expressInterest(Interest(name, 4000.0), onData, onTimeout, wireFormat);  
 }
 
 void 
