diff --git a/src/main/java/net/onrc/onos/ofcontroller/floodlightlistener/RCNetworkGraphPublisher.java b/src/main/java/net/onrc/onos/ofcontroller/floodlightlistener/RCNetworkGraphPublisher.java
index 5bc5b7c..1ae616d 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/floodlightlistener/RCNetworkGraphPublisher.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/floodlightlistener/RCNetworkGraphPublisher.java
@@ -18,7 +18,7 @@
 import net.onrc.onos.ofcontroller.networkgraph.INetworkGraphService;
 import net.onrc.onos.ofcontroller.networkgraph.LinkImpl;
 import net.onrc.onos.ofcontroller.networkgraph.NetworkGraph;
-import net.onrc.onos.ofcontroller.networkgraph.SouthboundNetworkGraph;
+import net.onrc.onos.ofcontroller.networkgraph.NetworkGraphDatastore;
 import net.onrc.onos.ofcontroller.networkgraph.Switch;
 import net.onrc.onos.ofcontroller.util.Dpid;
 import net.onrc.onos.registry.controller.IControllerRegistryService;
@@ -50,7 +50,7 @@
 	private INetworkGraphService networkGraphService;
 
 	private NetworkGraph networkGraph;
-	private SouthboundNetworkGraph southboundNetworkGraph;
+	private NetworkGraphDatastore southboundNetworkGraph;
 
 
 	@Override
diff --git a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/INetworkGraphService.java b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/INetworkGraphService.java
index 71a5d53..cef80ad 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/INetworkGraphService.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/INetworkGraphService.java
@@ -19,5 +19,5 @@
      * applications/modules that shouldn't touch it
      * @return
      */
-    public SouthboundNetworkGraph getSouthboundNetworkGraph();
+    public NetworkGraphDatastore getSouthboundNetworkGraph();
 }
diff --git a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/SouthboundNetworkGraph.java b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/NetworkGraphDatastore.java
similarity index 97%
rename from src/main/java/net/onrc/onos/ofcontroller/networkgraph/SouthboundNetworkGraph.java
rename to src/main/java/net/onrc/onos/ofcontroller/networkgraph/NetworkGraphDatastore.java
index 1bbad88..288b1f4 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/SouthboundNetworkGraph.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/NetworkGraphDatastore.java
@@ -32,14 +32,14 @@
  *          It might be better for the caller to trigger notification.)
  *
  */
-public class SouthboundNetworkGraph {
-	private static final Logger log = LoggerFactory.getLogger(SouthboundNetworkGraph.class);
+public class NetworkGraphDatastore {
+	private static final Logger log = LoggerFactory.getLogger(NetworkGraphDatastore.class);
 
 	private static final int NUM_RETRIES = 10;
 	
 	private final NetworkGraphImpl graph;
 
-	public SouthboundNetworkGraph(NetworkGraphImpl graph) {
+	public NetworkGraphDatastore(NetworkGraphImpl graph) {
 		this.graph = graph;
 	}
 
diff --git a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/NetworkGraphModule.java b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/NetworkGraphModule.java
index 09c1c66..0824f63 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/NetworkGraphModule.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/NetworkGraphModule.java
@@ -19,7 +19,7 @@
 	// private RCNetworkGraphPublisher eventListener;
 	
 	private NetworkGraphImpl networkGraph;
-	private SouthboundNetworkGraph southboundNetworkGraph;
+	private NetworkGraphDatastore southboundNetworkGraph;
 
 	private IRestApiService restApi;
 
@@ -54,7 +54,7 @@
 		restApi = context.getServiceImpl(IRestApiService.class);
 		
 		networkGraph = new NetworkGraphImpl();
-		southboundNetworkGraph = new SouthboundNetworkGraph(networkGraph);
+		southboundNetworkGraph = new NetworkGraphDatastore(networkGraph);
 	}
 
 	@Override
@@ -68,7 +68,7 @@
 	}
 
 	@Override
-	public SouthboundNetworkGraph getSouthboundNetworkGraph() {
+	public NetworkGraphDatastore getSouthboundNetworkGraph() {
 		return southboundNetworkGraph;
 	}
 
