diff --git a/src/main/java/net/floodlightcontroller/linkdiscovery/ILinkStorage.java b/src/main/java/net/floodlightcontroller/linkdiscovery/ILinkStorage.java
index 6d66a49..a764227 100644
--- a/src/main/java/net/floodlightcontroller/linkdiscovery/ILinkStorage.java
+++ b/src/main/java/net/floodlightcontroller/linkdiscovery/ILinkStorage.java
@@ -11,26 +11,37 @@
      * Link creation
      */
 	public void update(Link link, DM_OPERATION op);
+	public void update(Link link, LinkInfo linkinfo, DM_OPERATION op);
 	public void update(List<Link> List, DM_OPERATION op);
-	
+
 	/*
 	 *  Add Linkinfo
 	 */
-	public void update(Link link, LinkInfo linkinfo, DM_OPERATION op);
+	public void addOrUpdateLink (Link link, LinkInfo linkinfo, DM_OPERATION op);
 	
 	/*
-	 * Get Links from Storage
-	 *  If dpid and port both are specified specific link is retrieved
-	 *  If only dpid is set all links associated with Switch are retrieved
+	 * Delete a single link
 	 */
-	public List<Link> getLinks(Long dpid, int port);
+	public void deleteLink(Link link);
 
 	/*
 	 * Delete links associated with dpid and port 
 	 * If only dpid is used, All links associated for switch are removed
 	 * Useful for port up/down and also switch join/remove events
 	 */ 
-	public void deleteLinks(Long dpid, int port);
+	public void deleteLinksOnPort(Long dpid, short port);
+	
+	/*
+	 * Delete a list of links
+	 */
+	public void deleteLinks(List<Link> links);
+
+	/*
+	 * Get Links from Storage
+	 *  If dpid and port both are specified specific link is retrieved
+	 *  If only dpid is set all links associated with Switch are retrieved
+	 */
+	public List<Link> getLinks(Long dpid, short port);
 	
 	/*
 	 * Init with Storage conf
