diff --git a/src/main/java/net/onrc/onos/flow/IFlowManager.java b/src/main/java/net/onrc/onos/flow/IFlowManager.java
new file mode 100644
index 0000000..da6448c
--- /dev/null
+++ b/src/main/java/net/onrc/onos/flow/IFlowManager.java
@@ -0,0 +1,53 @@
+package net.onrc.onos.flow;
+
+import net.floodlightcontroller.core.INetMapTopologyObjects.IPortObject;
+import net.floodlightcontroller.util.FlowEntry;
+import net.floodlightcontroller.util.FlowPath;
+
+public interface IFlowManager {
+	
+	/*
+	 * Generic create Flow from port to port
+	 */
+	public void createFlow(IPortObject src_port, IPortObject dest_port);
+	/*
+	 * get Flows matching a src_port & dest_port
+	 */
+	public Iterable<FlowPath> getFlows(IPortObject src_port, IPortObject dest_port);
+	/*
+	 * get all Flows going out from port
+	 */
+	public Iterable<FlowPath> getFlows(IPortObject port);
+	/*
+	 * Reconcile all flows on inactive port (src port of link which might be broken)
+	 */
+	public void reconcileFlows(IPortObject src_port);
+	/*
+	 * Reconcile flow based on flow
+	 */
+	public void reconcileFlow(IPortObject src_port, IPortObject dest_port);
+	/*
+	 * compute a flow path using src/dest port
+	 */
+	public FlowPath computeFlowPath(IPortObject src_port, IPortObject dest_port);
+	/*
+	 * Get all FlowEntries of a Flow
+	 */
+    public Iterable<FlowEntry> getFlowEntries(FlowPath flow);
+    /*
+     * install a flow entry on switch
+     */
+    public void installFlowEntry(FlowEntry entry);
+    /*
+     * remove a flowEntry from switch
+     */
+    public void removeFlowEntry(FlowEntry entry);
+    /*
+     * install flow entry on remote controller
+     */
+    public void installFlowEntry(String ctrlId, FlowEntry entry);
+    /*
+     * remove flow entry on remote controller
+     */
+    public void removeFlowEntry(String ctrlId, FlowEntry entry);        
+}
