diff --git a/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteStore.java b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteStore.java
index 5eaa898..2171fcb 100644
--- a/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteStore.java
+++ b/apps/route-service/api/src/main/java/org/onosproject/routeservice/RouteStore.java
@@ -38,6 +38,13 @@
     void updateRoute(Route route);
 
     /**
+     * Adds or updates the given routes in the store.
+     *
+     * @param routes routes to add or update
+     */
+    void updateRoutes(Collection<Route> routes);
+
+    /**
      * Removes the given route from the store.
      *
      * @param route route to remove
@@ -45,6 +52,13 @@
     void removeRoute(Route route);
 
     /**
+     * Removes the given routes from the store.
+     *
+     * @param routes routes to remove
+     */
+    void removeRoutes(Collection<Route> routes);
+
+    /**
      * Replaces the all the routes for a prefix
      * with the given route.
      *
@@ -79,6 +93,14 @@
     Collection<Route> getRoutesForNextHop(IpAddress ip);
 
     /**
+     * Returns all routes that point to any of the given next hops IP addresses.
+     *
+     * @param nextHops next hops IP addresses
+     * @return collection of routes sets
+     */
+    Collection<RouteSet> getRoutesForNextHops(Collection<IpAddress> nextHops);
+
+    /**
      * Returns the set of routes in the default route table for the given prefix.
      *
      * @param prefix IP prefix
