diff --git a/helper/ndn-fib-helper.hpp b/helper/ndn-fib-helper.hpp
index 1385e31..3d2eb53 100644
--- a/helper/ndn-fib-helper.hpp
+++ b/helper/ndn-fib-helper.hpp
@@ -101,6 +101,56 @@
   AddRoute(const std::string& nodeName, const Name& prefix, const std::string& otherNodeName,
            int32_t metric);
 
+  /**
+   * \brief remove forwarding entry in FIB
+   *
+   * \param node Node
+   * \param prefix Routing prefix
+   * \param face Face
+   */
+  static void
+  RemoveRoute(Ptr<Node> node, const Name& prefix, shared_ptr<Face> face);
+
+  /**
+   * \brief remove forwarding entry in FIB
+   *
+   * \param node Node
+   * \param prefix Routing prefix
+   * \param faceId Face index
+   */
+  static void
+  RemoveRoute(Ptr<Node> node, const Name& prefix, uint32_t faceId);
+
+  /**
+   * \brief remove forwarding entry in FIB
+   *
+   * \param nodeName Node name
+   * \param prefix Routing prefix
+   * \param faceId Face index
+   */
+  static void
+  RemoveRoute(const std::string& nodeName, const Name& prefix, uint32_t faceId);
+
+  /**
+   * @brief remove forwarding entry in FIB (work only with point-to-point links)
+   *
+   * \param node Node
+   * \param prefix Routing prefix
+   * \param otherNode The other node, to which interests (will be used to infer face id
+   */
+  static void
+  RemoveRoute(Ptr<Node> node, const Name& prefix, Ptr<Node> otherNode);
+
+  /**
+   * @brief remove forwarding entry in FIB (work only with point-to-point links)
+   *
+   * \param nodeName Node name
+   * \param prefix Routing prefix
+   * \param otherNode The other node name, to which interests (will be used to infer face id
+   */
+  static void
+  RemoveRoute(const std::string& nodeName, const Name& prefix, const std::string& otherNodeName);
+
 private:
   static void
   GenerateCommand(Interest& interest);
