diff --git a/src/nlsr_im.hpp b/src/nlsr_im.hpp
new file mode 100644
index 0000000..6e71500
--- /dev/null
+++ b/src/nlsr_im.hpp
@@ -0,0 +1,37 @@
+#ifndef NLSR_IM_HPP
+#define NLSR_IM_HPP
+
+#include <ndn-cpp-dev/face.hpp>
+#include <ndn-cpp-dev/security/key-chain.hpp>
+#include <ndn-cpp-dev/util/scheduler.hpp>
+
+
+using namespace ndn;
+using namespace std;
+
+class nlsr;
+
+class interestManager{
+public:	
+	interestManager()
+	{
+	}
+  void processInterest(nlsr& pnlsr, const ndn::Name &name, 
+							                                   const ndn::Interest &interest);
+	void processInterestInfo(nlsr& pnlsr, string& neighbor, 
+							                                   const ndn::Interest &interest);
+  void processInterestTimedOut(nlsr& pnlsr, const ndn::Interest &interest);
+  void processInterestTimedOutInfo(nlsr& pnlsr, string& neighbor,
+                                                 const ndn::Interest &interest);
+  void expressInterest(nlsr& pnlsr,const string& interestNamePrefix, int scope, 
+                                                                   int seconds);
+  void sendScheduledInfoInterest(nlsr& pnlsr, int seconds);
+	void scheduleInfoInterest(nlsr& pnlsr, int seconds);
+
+private:	
+
+
+};
+
+
+#endif
