diff --git a/model/ndn-interest.h b/model/ndn-interest.h
index c1fb277..32dfcd8 100644
--- a/model/ndn-interest.h
+++ b/model/ndn-interest.h
@@ -26,6 +26,7 @@
 #include "ns3/header.h"
 #include "ns3/simple-ref-count.h"
 #include "ns3/nstime.h"
+#include "ns3/packet.h"
 
 #include <string>
 #include <vector>
@@ -40,7 +41,7 @@
 namespace ndn {
 
 /**
- * @brief NDN Interest (wire formats are defined in wire/*)
+ * @brief NDN Interest (wire formats are defined in wire)
  *
  **/
 class Interest : public SimpleRefCount<Interest>
@@ -51,7 +52,7 @@
    *
    * Creates a null header
    **/
-  Interest ();
+  Interest (Ptr<Packet> payload = Create<Packet> ());
 
   /**
    * @brief Copy constructor
@@ -194,7 +195,7 @@
    *
    * This payload can carry packet tags
    */
-  Ptr<const Payload>
+  Ptr<const Packet>
   GetPayload () const;
   
   /**
@@ -211,6 +212,12 @@
   inline void
   SetWire (Ptr<const Packet> packet) const;
 
+  /**
+   * @brief Print Interest in plain-text to the specified output stream
+   */
+  void
+  Print (std::ostream &os) const;
+  
 private:
   // NO_ASSIGN
   Interest &
@@ -233,9 +240,6 @@
   return m_wire;
 }
 
-/**
- * @brief Set (cache) wire formatted packet
- */
 inline void
 Interest::SetWire (Ptr<const Packet> packet) const
 {
