diff --git a/examples/custom-apps/hijacker.h b/examples/custom-apps/hijacker.h
new file mode 100644
index 0000000..84d9070
--- /dev/null
+++ b/examples/custom-apps/hijacker.h
@@ -0,0 +1,55 @@
+/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
+/*
+ * Copyright (c) 2011-2012 University of California, Los Angeles
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation;
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
+ */
+
+// hijacker.h
+
+#ifndef HIJACKER_H_
+#define HIJACKER_H_
+
+#include "ns3/core-module.h"
+#include "ns3/network-module.h"
+#include "ns3/ndnSIM-module.h"
+
+namespace ns3 {
+
+class Hijacker : public ndn::App
+{
+public:
+  static TypeId
+  GetTypeId ();
+
+  Hijacker ();
+
+  // Receive all Interests but do nothing in response
+  void
+  OnInterest (const Ptr<const ndn::InterestHeader> &interest, Ptr<Packet> packet);
+
+protected:
+  // inherited from Application base class.
+  virtual void
+  StartApplication ();
+
+  virtual void
+  StopApplication ();
+};
+
+} // namespace ns3
+
+#endif // HIJACKER_H_
