diff --git a/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/api/OpenstackNetworkService.java b/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/api/OpenstackNetworkService.java
index 71d9bb1..279bbbd 100644
--- a/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/api/OpenstackNetworkService.java
+++ b/apps/openstacknetworking/api/src/main/java/org/onosproject/openstacknetworking/api/OpenstackNetworkService.java
@@ -19,6 +19,7 @@
 import org.onlab.packet.IpPrefix;
 import org.onlab.packet.MacAddress;
 import org.onosproject.event.ListenerService;
+import org.onosproject.openstacknetworking.api.OpenstackNetwork.Type;
 import org.openstack4j.model.network.ExternalGateway;
 import org.openstack4j.model.network.Network;
 import org.openstack4j.model.network.Port;
@@ -40,6 +41,14 @@
     Network network(String networkId);
 
     /**
+     * Returns the network type with the supplied network ID.
+     *
+     * @param networkId network id
+     * @return openstack network type
+     */
+    Type networkType(String networkId);
+
+    /**
      * Returns all networks registered in the service.
      *
      * @return set of networks
@@ -148,14 +157,6 @@
     IpPrefix ipPrefix(String portId);
 
     /**
-     * Returns network type with supplied network ID.
-     *
-     * @param netId openstack network id
-     * @return network type
-     */
-    String networkType(String netId);
-
-    /**
      * Returns gateway ip address with supplied port ID.
      *
      * @param portId openstack port id
