diff --git a/src/main/java/net/onrc/onos/graph/DBOperation.java b/src/main/java/net/onrc/onos/graph/DBOperation.java
index b58198a..d965ad5 100644
--- a/src/main/java/net/onrc/onos/graph/DBOperation.java
+++ b/src/main/java/net/onrc/onos/graph/DBOperation.java
@@ -20,6 +20,7 @@
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.IPortObject;
 import net.onrc.onos.ofcontroller.core.INetMapTopologyObjects.ISwitchObject;
 import net.onrc.onos.ofcontroller.core.ISwitchStorage;
+import net.onrc.onos.ofcontroller.util.FlowEntryId;
 import net.onrc.onos.ofcontroller.util.FlowId;
 
 /**
@@ -252,17 +253,19 @@
 	 * Search and get a flow path object with specified flow ID.
 	 * @param flowId flow ID to search
 	 */
-	protected IFlowPath searchFlowPath(final FlowId flowId, final FramedGraph fg) {
-	    return fg.getVertices("flow_id", flowId.toString()).iterator().hasNext()
-		    ? (IFlowPath) fg.getVertices("flow_id", flowId.toString(),
+	@Override
+	public IFlowPath searchFlowPath(final FlowId flowId) {
+	    return conn.getFramedGraph().getVertices("flow_id", flowId.toString()).iterator().hasNext()
+		    ? (IFlowPath) conn.getFramedGraph().getVertices("flow_id", flowId.toString(),
 		    IFlowPath.class).iterator().next() : null;
 	}
 
 	/**
 	 * Get all flow path objects.
 	 */
-	protected Iterable<IFlowPath> getAllFlowPaths(final FramedGraph fg) {
-	    Iterable<IFlowPath> flowPaths = fg.getVertices("type", "flow", IFlowPath.class);
+	@Override
+	public Iterable<IFlowPath> getAllFlowPaths() {
+	    Iterable<IFlowPath> flowPaths = conn.getFramedGraph().getVertices("type", "flow", IFlowPath.class);
 
 	    List<IFlowPath> nonNullFlows = new ArrayList<IFlowPath>();
 
@@ -275,6 +278,43 @@
 	}
 	
 	/**
+	 * Remove the specified flow path.
+	 * @param flowPath flow path object to remove
+	 */
+	@Override
+	public void removeFlowPath(IFlowPath flowPath) {
+	    conn.getFramedGraph().removeVertex(flowPath.asVertex());
+	}
+	
+	/**
+	 * Search and get a flow entry object with flow entry ID.
+	 * @param flowEntryId flow entry ID to search
+	 */
+	@Override
+	public IFlowEntry searchFlowEntry(FlowEntryId flowEntryId) {
+	    return conn.getFramedGraph().getVertices("flow_entry_id", flowEntryId.toString()).iterator().hasNext()
+		    ? (IFlowEntry)conn.getFramedGraph().getVertices("flow_entry_id", flowEntryId.toString(),
+		    IFlowEntry.class).iterator().next() : null;
+	}
+
+	/**
+	 * Get all flow entry objects.
+	 */
+	@Override
+	public Iterable<IFlowEntry> getAllFlowEntries() {
+	    return conn.getFramedGraph().getVertices("type", "flow_entry", IFlowEntry.class);
+	}
+
+	/**
+	 * Remove the specified flow entry.
+	 * @param flowEntry flow entry object to remove
+	 */
+	@Override
+	public void removeFlowEntry(IFlowEntry flowEntry) {
+	    conn.getFramedGraph().removeVertex(flowEntry.asVertex());
+	}
+	
+	/**
 	 * Create and return a flow entry object.
 	 */
 	@Override
@@ -328,9 +368,26 @@
 		conn.getFramedGraph().removeVertex(ipv4Address.asVertex());
 	}
 
-	
+	/**
+	 * Get the instance of GraphDBConnection assigned to this class.
+	 */
 	@Override
 	public IDBConnection getDBConnection() {
 	    return conn;
 	}	
+	
+	@Override
+	public void commit() {
+	    conn.commit();
+	}
+
+	@Override
+	public void rollback() {
+	    conn.rollback();
+	}
+
+	@Override
+	public void close() {
+	    conn.close();
+	}
 }
diff --git a/src/main/java/net/onrc/onos/graph/RamCloudDBOperation.java b/src/main/java/net/onrc/onos/graph/RamCloudDBOperation.java
index 657c521..1487be7 100644
--- a/src/main/java/net/onrc/onos/graph/RamCloudDBOperation.java
+++ b/src/main/java/net/onrc/onos/graph/RamCloudDBOperation.java
@@ -24,59 +24,4 @@
 
     public RamCloudDBOperation() {
     }
-
-    @Override
-    public IFlowPath searchFlowPath(FlowId flowId) {
-        FramedGraph<RamCloudGraph> fg = conn.getFramedGraph();
-        return searchFlowPath(flowId, fg);
-    }
-
-    @Override
-    public Iterable<IFlowPath> getAllFlowPaths() {
-        FramedGraph<RamCloudGraph> fg = conn.getFramedGraph();
-        return getAllFlowPaths(fg);
-    }
-
-    @Override
-    public void removeFlowPath(IFlowPath flowPath) {
-        FramedGraph<RamCloudGraph> fg = conn.getFramedGraph();
-        fg.removeVertex(flowPath.asVertex());
-    }
-
-    @Override
-    public IFlowEntry searchFlowEntry(FlowEntryId flowEntryId) {
-        FramedGraph<RamCloudGraph> fg = conn.getFramedGraph();
-
-        return fg.getVertices("flow_entry_id", flowEntryId.toString()).iterator().hasNext()
-                ? fg.getVertices("flow_entry_id", flowEntryId.toString(),
-                IFlowEntry.class).iterator().next() : null;
-    }
-
-    @Override
-    public Iterable<IFlowEntry> getAllFlowEntries() {
-        FramedGraph<RamCloudGraph> fg = conn.getFramedGraph();
-
-        return fg.getVertices("type", "flow_entry", IFlowEntry.class);
-    }
-
-    @Override
-    public void removeFlowEntry(IFlowEntry flowEntry) {
-        FramedGraph<RamCloudGraph> fg = conn.getFramedGraph();
-        fg.removeVertex(flowEntry.asVertex());
-    }
-
-    @Override
-    public void commit() {
-        conn.commit();
-    }
-
-    @Override
-    public void rollback() {
-        conn.rollback();
-    }
-
-    @Override
-    public void close() {
-        conn.close();
-    }
 }
diff --git a/src/main/java/net/onrc/onos/graph/TitanDBOperation.java b/src/main/java/net/onrc/onos/graph/TitanDBOperation.java
index 3a6f13d..1b211d6 100644
--- a/src/main/java/net/onrc/onos/graph/TitanDBOperation.java
+++ b/src/main/java/net/onrc/onos/graph/TitanDBOperation.java
@@ -22,59 +22,5 @@
  * @author nickkaranatsios
  */
 public class TitanDBOperation extends DBOperation {
-	
-    @Override
-    public IFlowPath searchFlowPath(FlowId flowId) {
-        FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-        return searchFlowPath(flowId, fg);
-    }
 
-    @Override
-    public Iterable<IFlowPath> getAllFlowPaths() {
-        FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-        return getAllFlowPaths(fg);
-    }
-
-    @Override
-    public void removeFlowPath(IFlowPath flowPath) {
-        FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-        fg.removeVertex(flowPath.asVertex());
-    }
-
-    @Override
-    public IFlowEntry searchFlowEntry(FlowEntryId flowEntryId) {
-        FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-
-        return fg.getVertices("flow_entry_id", flowEntryId.toString()).iterator().hasNext()
-                ? fg.getVertices("flow_entry_id", flowEntryId.toString(),
-                IFlowEntry.class).iterator().next() : null;
-    }
-
-    @Override
-    public Iterable<IFlowEntry> getAllFlowEntries() {
-        FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-
-        return fg.getVertices("type", "flow_entry", IFlowEntry.class);
-    }
-
-    @Override
-    public void removeFlowEntry(IFlowEntry flowEntry) {
-        FramedGraph<TitanGraph> fg = conn.getFramedGraph();
-        fg.removeVertex(flowEntry.asVertex());
-    }
-
-    @Override
-    public void commit() {
-        conn.commit();
-    }
-
-    @Override
-    public void rollback() {
-        conn.rollback();
-    }
-
-    @Override
-    public void close() {
-        conn.close();
-    }
 }
\ No newline at end of file
diff --git a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowDatabaseOperation.java b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowDatabaseOperation.java
index 4e67bf5..7b3904b 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowDatabaseOperation.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowDatabaseOperation.java
@@ -41,12 +41,15 @@
     static boolean addFlow(FlowManager flowManager,
 			   DBOperation dbHandler,
 			   FlowPath flowPath, FlowId flowId) {
+	System.out.println("addFlow");
 	IFlowPath flowObj = null;
 	boolean found = false;
 	try {
 	    if ((flowObj = dbHandler.searchFlowPath(flowPath.flowId())) != null) {
+		System.out.println("found = true");
 		found = true;
 	    } else {
+		System.out.println("found = false");
 		flowObj = dbHandler.newFlowPath();
 	    }
 	} catch (Exception e) {
diff --git a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
index 2a55ae1..20fe5d2 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
@@ -694,6 +694,7 @@
 		    // NOTE: The Flow Path might not be found if the Flow was
 		    // just removed by some other controller instance.
 		    //
+		    System.out.println("writeModifiedFlowEntriesToDatabase");
 		    IFlowPath flowObj =
 			dbHandlerInner.searchFlowPath(flowEntry.flowId());
 		    if (flowObj == null) {
