diff --git a/src/main/java/org/opencord/cordvtn/api/CordVtnConfig.java b/src/main/java/org/opencord/cordvtn/api/config/CordVtnConfig.java
similarity index 97%
rename from src/main/java/org/opencord/cordvtn/api/CordVtnConfig.java
rename to src/main/java/org/opencord/cordvtn/api/config/CordVtnConfig.java
index d0a9562..9dfa929 100644
--- a/src/main/java/org/opencord/cordvtn/api/CordVtnConfig.java
+++ b/src/main/java/org/opencord/cordvtn/api/config/CordVtnConfig.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.config;
 
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
@@ -25,6 +25,9 @@
 import org.onlab.packet.TpPort;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.net.config.Config;
+import org.opencord.cordvtn.api.node.CordVtnNode;
+import org.opencord.cordvtn.api.node.NetworkAddress;
+import org.opencord.cordvtn.api.node.SshAccessInfo;
 import org.slf4j.Logger;
 
 import java.util.Map;
diff --git a/src/main/java/org/opencord/cordvtn/api/VtnNetworkListener.java b/src/main/java/org/opencord/cordvtn/api/config/package-info.java
similarity index 76%
copy from src/main/java/org/opencord/cordvtn/api/VtnNetworkListener.java
copy to src/main/java/org/opencord/cordvtn/api/config/package-info.java
index be78ef0..b4fa066 100644
--- a/src/main/java/org/opencord/cordvtn/api/VtnNetworkListener.java
+++ b/src/main/java/org/opencord/cordvtn/api/config/package-info.java
@@ -13,12 +13,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
-
-import org.onosproject.event.EventListener;
 
 /**
- * Listener for vtn network event.
+ * CORD VTN configuration API definitions.
  */
-public interface VtnNetworkListener extends EventListener<VtnNetworkEvent> {
-}
+package org.opencord.cordvtn.api.config;
\ No newline at end of file
diff --git a/src/main/java/org/opencord/cordvtn/api/CordVtnAdminService.java b/src/main/java/org/opencord/cordvtn/api/core/CordVtnAdminService.java
similarity index 88%
rename from src/main/java/org/opencord/cordvtn/api/CordVtnAdminService.java
rename to src/main/java/org/opencord/cordvtn/api/core/CordVtnAdminService.java
index db5681c..fbe743b 100644
--- a/src/main/java/org/opencord/cordvtn/api/CordVtnAdminService.java
+++ b/src/main/java/org/opencord/cordvtn/api/core/CordVtnAdminService.java
@@ -13,8 +13,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.core;
 
+import org.opencord.cordvtn.api.net.NetworkId;
+import org.opencord.cordvtn.api.net.NetworkService;
+import org.opencord.cordvtn.api.net.PortId;
+import org.opencord.cordvtn.api.net.ServiceNetwork;
+import org.opencord.cordvtn.api.net.ServiceNetworkService;
+import org.opencord.cordvtn.api.net.ServicePort;
+import org.opencord.cordvtn.api.net.SubnetId;
 import org.openstack4j.model.network.Network;
 import org.openstack4j.model.network.Port;
 import org.openstack4j.model.network.Subnet;
diff --git a/src/main/java/org/opencord/cordvtn/api/CordVtnService.java b/src/main/java/org/opencord/cordvtn/api/core/CordVtnService.java
similarity index 83%
rename from src/main/java/org/opencord/cordvtn/api/CordVtnService.java
rename to src/main/java/org/opencord/cordvtn/api/core/CordVtnService.java
index 1a9f78f..6f5e55e 100644
--- a/src/main/java/org/opencord/cordvtn/api/CordVtnService.java
+++ b/src/main/java/org/opencord/cordvtn/api/core/CordVtnService.java
@@ -13,9 +13,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.core;
 
 import org.onosproject.event.ListenerService;
+import org.opencord.cordvtn.api.net.NetworkId;
+import org.opencord.cordvtn.api.net.PortId;
+import org.opencord.cordvtn.api.net.VtnNetwork;
+import org.opencord.cordvtn.api.net.VtnNetworkEvent;
+import org.opencord.cordvtn.api.net.VtnNetworkListener;
+import org.opencord.cordvtn.api.net.VtnPort;
 
 import java.util.Set;
 
diff --git a/src/main/java/org/opencord/cordvtn/api/CordVtnStore.java b/src/main/java/org/opencord/cordvtn/api/core/CordVtnStore.java
similarity index 92%
rename from src/main/java/org/opencord/cordvtn/api/CordVtnStore.java
rename to src/main/java/org/opencord/cordvtn/api/core/CordVtnStore.java
index 42b71c8..200358a 100644
--- a/src/main/java/org/opencord/cordvtn/api/CordVtnStore.java
+++ b/src/main/java/org/opencord/cordvtn/api/core/CordVtnStore.java
@@ -13,9 +13,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.core;
 
 import org.onosproject.store.Store;
+import org.opencord.cordvtn.api.net.NetworkId;
+import org.opencord.cordvtn.api.net.PortId;
+import org.opencord.cordvtn.api.net.SubnetId;
+import org.opencord.cordvtn.api.net.VtnNetwork;
+import org.opencord.cordvtn.api.net.VtnNetworkEvent;
+import org.opencord.cordvtn.api.net.VtnPort;
 import org.openstack4j.model.network.Network;
 import org.openstack4j.model.network.Port;
 import org.openstack4j.model.network.Subnet;
diff --git a/src/main/java/org/opencord/cordvtn/api/CordVtnStoreDelegate.java b/src/main/java/org/opencord/cordvtn/api/core/CordVtnStoreDelegate.java
similarity index 89%
rename from src/main/java/org/opencord/cordvtn/api/CordVtnStoreDelegate.java
rename to src/main/java/org/opencord/cordvtn/api/core/CordVtnStoreDelegate.java
index eb43f92..d5d7b91 100644
--- a/src/main/java/org/opencord/cordvtn/api/CordVtnStoreDelegate.java
+++ b/src/main/java/org/opencord/cordvtn/api/core/CordVtnStoreDelegate.java
@@ -13,9 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.core;
 
 import org.onosproject.store.StoreDelegate;
+import org.opencord.cordvtn.api.net.VtnNetworkEvent;
 
 /**
  * VTN store delegate abstraction.
diff --git a/src/main/java/org/opencord/cordvtn/api/VtnNetworkListener.java b/src/main/java/org/opencord/cordvtn/api/core/package-info.java
similarity index 76%
copy from src/main/java/org/opencord/cordvtn/api/VtnNetworkListener.java
copy to src/main/java/org/opencord/cordvtn/api/core/package-info.java
index be78ef0..a6337c7 100644
--- a/src/main/java/org/opencord/cordvtn/api/VtnNetworkListener.java
+++ b/src/main/java/org/opencord/cordvtn/api/core/package-info.java
@@ -13,12 +13,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
-
-import org.onosproject.event.EventListener;
 
 /**
- * Listener for vtn network event.
+ * CORD VTN core API definitions.
  */
-public interface VtnNetworkListener extends EventListener<VtnNetworkEvent> {
-}
+package org.opencord.cordvtn.api.core;
\ No newline at end of file
diff --git a/src/main/java/org/opencord/cordvtn/api/Dependency.java b/src/main/java/org/opencord/cordvtn/api/dependency/Dependency.java
similarity index 97%
rename from src/main/java/org/opencord/cordvtn/api/Dependency.java
rename to src/main/java/org/opencord/cordvtn/api/dependency/Dependency.java
index bbe7ef5..775fb16 100644
--- a/src/main/java/org/opencord/cordvtn/api/Dependency.java
+++ b/src/main/java/org/opencord/cordvtn/api/dependency/Dependency.java
@@ -13,9 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.dependency;
 
 import com.google.common.base.MoreObjects;
+import org.opencord.cordvtn.api.net.VtnNetwork;
 
 import java.util.Objects;
 
diff --git a/src/main/java/org/opencord/cordvtn/api/DependencyService.java b/src/main/java/org/opencord/cordvtn/api/dependency/DependencyService.java
similarity index 88%
rename from src/main/java/org/opencord/cordvtn/api/DependencyService.java
rename to src/main/java/org/opencord/cordvtn/api/dependency/DependencyService.java
index 08ad58d..3323d66 100644
--- a/src/main/java/org/opencord/cordvtn/api/DependencyService.java
+++ b/src/main/java/org/opencord/cordvtn/api/dependency/DependencyService.java
@@ -13,9 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.dependency;
 
-import org.opencord.cordvtn.api.Dependency.Type;
+import org.opencord.cordvtn.api.dependency.Dependency.Type;
+import org.opencord.cordvtn.api.net.NetworkId;
 
 /**
  * Provides dependency services.
diff --git a/src/main/java/org/opencord/cordvtn/api/CordVtnStoreDelegate.java b/src/main/java/org/opencord/cordvtn/api/dependency/package-info.java
similarity index 75%
copy from src/main/java/org/opencord/cordvtn/api/CordVtnStoreDelegate.java
copy to src/main/java/org/opencord/cordvtn/api/dependency/package-info.java
index eb43f92..7e6589f 100644
--- a/src/main/java/org/opencord/cordvtn/api/CordVtnStoreDelegate.java
+++ b/src/main/java/org/opencord/cordvtn/api/dependency/package-info.java
@@ -13,12 +13,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
-
-import org.onosproject.store.StoreDelegate;
 
 /**
- * VTN store delegate abstraction.
+ * CORD VTN service dependency API definitions.
  */
-public interface CordVtnStoreDelegate extends StoreDelegate<VtnNetworkEvent> {
-}
+package org.opencord.cordvtn.api.dependency;
\ No newline at end of file
diff --git a/src/main/java/org/opencord/cordvtn/api/Instance.java b/src/main/java/org/opencord/cordvtn/api/instance/Instance.java
similarity index 95%
rename from src/main/java/org/opencord/cordvtn/api/Instance.java
rename to src/main/java/org/opencord/cordvtn/api/instance/Instance.java
index d81440e..79e478f 100644
--- a/src/main/java/org/opencord/cordvtn/api/Instance.java
+++ b/src/main/java/org/opencord/cordvtn/api/instance/Instance.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.instance;
 
 import com.google.common.base.Strings;
 import org.onlab.packet.Ip4Address;
@@ -21,7 +21,9 @@
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.Host;
 import org.onosproject.net.PortNumber;
-import org.opencord.cordvtn.api.ServiceNetwork.ServiceNetworkType;
+import org.opencord.cordvtn.api.net.NetworkId;
+import org.opencord.cordvtn.api.net.PortId;
+import org.opencord.cordvtn.api.net.ServiceNetwork.ServiceNetworkType;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkNotNull;
diff --git a/src/main/java/org/opencord/cordvtn/api/InstanceHandler.java b/src/main/java/org/opencord/cordvtn/api/instance/InstanceHandler.java
similarity index 96%
rename from src/main/java/org/opencord/cordvtn/api/InstanceHandler.java
rename to src/main/java/org/opencord/cordvtn/api/instance/InstanceHandler.java
index a2364fd..6e1cdc9 100644
--- a/src/main/java/org/opencord/cordvtn/api/InstanceHandler.java
+++ b/src/main/java/org/opencord/cordvtn/api/instance/InstanceHandler.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.instance;
 
 /**
  * Handles service instance detection and removal.
diff --git a/src/main/java/org/opencord/cordvtn/api/InstanceService.java b/src/main/java/org/opencord/cordvtn/api/instance/InstanceService.java
similarity index 97%
rename from src/main/java/org/opencord/cordvtn/api/InstanceService.java
rename to src/main/java/org/opencord/cordvtn/api/instance/InstanceService.java
index add968f..4d3ccca 100644
--- a/src/main/java/org/opencord/cordvtn/api/InstanceService.java
+++ b/src/main/java/org/opencord/cordvtn/api/instance/InstanceService.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.instance;
 
 import org.onosproject.net.ConnectPoint;
 import org.onosproject.net.HostId;
diff --git a/src/main/java/org/opencord/cordvtn/api/VtnNetworkListener.java b/src/main/java/org/opencord/cordvtn/api/instance/package-info.java
similarity index 76%
copy from src/main/java/org/opencord/cordvtn/api/VtnNetworkListener.java
copy to src/main/java/org/opencord/cordvtn/api/instance/package-info.java
index be78ef0..bdb3900 100644
--- a/src/main/java/org/opencord/cordvtn/api/VtnNetworkListener.java
+++ b/src/main/java/org/opencord/cordvtn/api/instance/package-info.java
@@ -13,12 +13,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
-
-import org.onosproject.event.EventListener;
 
 /**
- * Listener for vtn network event.
+ * CORD VTN service instance API definitions.
  */
-public interface VtnNetworkListener extends EventListener<VtnNetworkEvent> {
-}
+package org.opencord.cordvtn.api.instance;
\ No newline at end of file
diff --git a/src/main/java/org/opencord/cordvtn/api/AddressPair.java b/src/main/java/org/opencord/cordvtn/api/net/AddressPair.java
similarity index 98%
rename from src/main/java/org/opencord/cordvtn/api/AddressPair.java
rename to src/main/java/org/opencord/cordvtn/api/net/AddressPair.java
index 03ad60f..ee13628 100644
--- a/src/main/java/org/opencord/cordvtn/api/AddressPair.java
+++ b/src/main/java/org/opencord/cordvtn/api/net/AddressPair.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.net;
 
 import com.google.common.base.MoreObjects;
 import org.onlab.packet.IpAddress;
diff --git a/src/main/java/org/opencord/cordvtn/api/NetworkId.java b/src/main/java/org/opencord/cordvtn/api/net/NetworkId.java
similarity index 96%
rename from src/main/java/org/opencord/cordvtn/api/NetworkId.java
rename to src/main/java/org/opencord/cordvtn/api/net/NetworkId.java
index 843be7e..8bdafee 100644
--- a/src/main/java/org/opencord/cordvtn/api/NetworkId.java
+++ b/src/main/java/org/opencord/cordvtn/api/net/NetworkId.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.net;
 
 import org.onlab.util.Identifier;
 
diff --git a/src/main/java/org/opencord/cordvtn/api/NetworkService.java b/src/main/java/org/opencord/cordvtn/api/net/NetworkService.java
similarity index 97%
rename from src/main/java/org/opencord/cordvtn/api/NetworkService.java
rename to src/main/java/org/opencord/cordvtn/api/net/NetworkService.java
index aa178e5..ac505e2 100644
--- a/src/main/java/org/opencord/cordvtn/api/NetworkService.java
+++ b/src/main/java/org/opencord/cordvtn/api/net/NetworkService.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.net;
 
 import org.openstack4j.model.network.Network;
 import org.openstack4j.model.network.Port;
diff --git a/src/main/java/org/opencord/cordvtn/api/PortId.java b/src/main/java/org/opencord/cordvtn/api/net/PortId.java
similarity index 96%
rename from src/main/java/org/opencord/cordvtn/api/PortId.java
rename to src/main/java/org/opencord/cordvtn/api/net/PortId.java
index 6162070..10c9e8d 100644
--- a/src/main/java/org/opencord/cordvtn/api/PortId.java
+++ b/src/main/java/org/opencord/cordvtn/api/net/PortId.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.net;
 
 import org.onlab.util.Identifier;
 
diff --git a/src/main/java/org/opencord/cordvtn/api/ProviderNetwork.java b/src/main/java/org/opencord/cordvtn/api/net/ProviderNetwork.java
similarity index 95%
rename from src/main/java/org/opencord/cordvtn/api/ProviderNetwork.java
rename to src/main/java/org/opencord/cordvtn/api/net/ProviderNetwork.java
index 9caabbd..37fce8c 100644
--- a/src/main/java/org/opencord/cordvtn/api/ProviderNetwork.java
+++ b/src/main/java/org/opencord/cordvtn/api/net/ProviderNetwork.java
@@ -13,10 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.net;
 
 import com.google.common.base.MoreObjects;
-import org.opencord.cordvtn.api.Dependency.Type;
+import org.opencord.cordvtn.api.dependency.Dependency.Type;
 
 import java.util.Objects;
 
diff --git a/src/main/java/org/opencord/cordvtn/api/SegmentId.java b/src/main/java/org/opencord/cordvtn/api/net/SegmentId.java
similarity index 96%
rename from src/main/java/org/opencord/cordvtn/api/SegmentId.java
rename to src/main/java/org/opencord/cordvtn/api/net/SegmentId.java
index e4101b3..45568d1 100644
--- a/src/main/java/org/opencord/cordvtn/api/SegmentId.java
+++ b/src/main/java/org/opencord/cordvtn/api/net/SegmentId.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.net;
 
 import org.onlab.util.Identifier;
 
diff --git a/src/main/java/org/opencord/cordvtn/api/ServiceNetwork.java b/src/main/java/org/opencord/cordvtn/api/net/ServiceNetwork.java
similarity index 98%
rename from src/main/java/org/opencord/cordvtn/api/ServiceNetwork.java
rename to src/main/java/org/opencord/cordvtn/api/net/ServiceNetwork.java
index 90de69c..cbdde5f 100644
--- a/src/main/java/org/opencord/cordvtn/api/ServiceNetwork.java
+++ b/src/main/java/org/opencord/cordvtn/api/net/ServiceNetwork.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.net;
 
 import com.google.common.base.MoreObjects;
 import com.google.common.collect.ImmutableSet;
diff --git a/src/main/java/org/opencord/cordvtn/api/ServiceNetworkService.java b/src/main/java/org/opencord/cordvtn/api/net/ServiceNetworkService.java
similarity index 97%
rename from src/main/java/org/opencord/cordvtn/api/ServiceNetworkService.java
rename to src/main/java/org/opencord/cordvtn/api/net/ServiceNetworkService.java
index 1b387b7..173f723 100644
--- a/src/main/java/org/opencord/cordvtn/api/ServiceNetworkService.java
+++ b/src/main/java/org/opencord/cordvtn/api/net/ServiceNetworkService.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.net;
 
 import java.util.Set;
 
diff --git a/src/main/java/org/opencord/cordvtn/api/ServicePort.java b/src/main/java/org/opencord/cordvtn/api/net/ServicePort.java
similarity index 98%
rename from src/main/java/org/opencord/cordvtn/api/ServicePort.java
rename to src/main/java/org/opencord/cordvtn/api/net/ServicePort.java
index a6e048b..99a79ff 100644
--- a/src/main/java/org/opencord/cordvtn/api/ServicePort.java
+++ b/src/main/java/org/opencord/cordvtn/api/net/ServicePort.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.net;
 
 import com.google.common.base.MoreObjects;
 import com.google.common.collect.ImmutableSet;
diff --git a/src/main/java/org/opencord/cordvtn/api/SubnetId.java b/src/main/java/org/opencord/cordvtn/api/net/SubnetId.java
similarity index 96%
rename from src/main/java/org/opencord/cordvtn/api/SubnetId.java
rename to src/main/java/org/opencord/cordvtn/api/net/SubnetId.java
index e98ebd8..b7c49bd 100644
--- a/src/main/java/org/opencord/cordvtn/api/SubnetId.java
+++ b/src/main/java/org/opencord/cordvtn/api/net/SubnetId.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.net;
 
 import org.onlab.util.Identifier;
 
diff --git a/src/main/java/org/opencord/cordvtn/api/VtnNetwork.java b/src/main/java/org/opencord/cordvtn/api/net/VtnNetwork.java
similarity index 97%
rename from src/main/java/org/opencord/cordvtn/api/VtnNetwork.java
rename to src/main/java/org/opencord/cordvtn/api/net/VtnNetwork.java
index 55fb595..84cac7b 100644
--- a/src/main/java/org/opencord/cordvtn/api/VtnNetwork.java
+++ b/src/main/java/org/opencord/cordvtn/api/net/VtnNetwork.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.net;
 
 import com.google.common.base.MoreObjects;
 import com.google.common.base.Strings;
@@ -21,6 +21,7 @@
 import com.google.common.collect.Sets;
 import org.onlab.packet.IpAddress;
 import org.onlab.packet.IpPrefix;
+import org.opencord.cordvtn.api.dependency.Dependency;
 import org.openstack4j.model.network.Network;
 import org.openstack4j.model.network.Subnet;
 
@@ -29,12 +30,12 @@
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkNotNull;
-import static org.opencord.cordvtn.api.ServiceNetwork.ServiceNetworkType.PRIVATE;
+import static org.opencord.cordvtn.api.net.ServiceNetwork.ServiceNetworkType.PRIVATE;
 
 /**
  * Representation of a network holding the basic virtual network and additional
  * service network specific information.
- * All the services making use of {@link CordVtnService} are intended to interface
+ * All the services making use of CordVtnService are intended to interface
  * with this VtnNetwork, and not allowed to directly access {@link Network} or
  * {@link ServiceNetwork}.
  */
diff --git a/src/main/java/org/opencord/cordvtn/api/VtnNetworkEvent.java b/src/main/java/org/opencord/cordvtn/api/net/VtnNetworkEvent.java
similarity index 98%
rename from src/main/java/org/opencord/cordvtn/api/VtnNetworkEvent.java
rename to src/main/java/org/opencord/cordvtn/api/net/VtnNetworkEvent.java
index c1d6fef..c6f187f 100644
--- a/src/main/java/org/opencord/cordvtn/api/VtnNetworkEvent.java
+++ b/src/main/java/org/opencord/cordvtn/api/net/VtnNetworkEvent.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.net;
 
 import org.joda.time.LocalDateTime;
 import org.onosproject.event.AbstractEvent;
diff --git a/src/main/java/org/opencord/cordvtn/api/VtnNetworkListener.java b/src/main/java/org/opencord/cordvtn/api/net/VtnNetworkListener.java
similarity index 95%
rename from src/main/java/org/opencord/cordvtn/api/VtnNetworkListener.java
rename to src/main/java/org/opencord/cordvtn/api/net/VtnNetworkListener.java
index be78ef0..62cf834 100644
--- a/src/main/java/org/opencord/cordvtn/api/VtnNetworkListener.java
+++ b/src/main/java/org/opencord/cordvtn/api/net/VtnNetworkListener.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.net;
 
 import org.onosproject.event.EventListener;
 
diff --git a/src/main/java/org/opencord/cordvtn/api/VtnPort.java b/src/main/java/org/opencord/cordvtn/api/net/VtnPort.java
similarity index 98%
rename from src/main/java/org/opencord/cordvtn/api/VtnPort.java
rename to src/main/java/org/opencord/cordvtn/api/net/VtnPort.java
index af1bd99..0ec1078 100644
--- a/src/main/java/org/opencord/cordvtn/api/VtnPort.java
+++ b/src/main/java/org/opencord/cordvtn/api/net/VtnPort.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.net;
 
 import com.google.common.base.MoreObjects;
 import com.google.common.collect.ImmutableSet;
@@ -32,7 +32,7 @@
 /**
  * Representation of a port holding the basic virtual port and additional service
  * port specific information.
- * All the services making use of {@link CordVtnService} are intended to interface
+ * All the services making use of CordVtnService are intended to interface
  * with this VtnPort, and not allowed to directly access {@link Port} or
  * {@link ServicePort}.
  */
diff --git a/src/main/java/org/opencord/cordvtn/api/VtnNetworkListener.java b/src/main/java/org/opencord/cordvtn/api/net/package-info.java
similarity index 76%
copy from src/main/java/org/opencord/cordvtn/api/VtnNetworkListener.java
copy to src/main/java/org/opencord/cordvtn/api/net/package-info.java
index be78ef0..2f8f49a 100644
--- a/src/main/java/org/opencord/cordvtn/api/VtnNetworkListener.java
+++ b/src/main/java/org/opencord/cordvtn/api/net/package-info.java
@@ -13,12 +13,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
-
-import org.onosproject.event.EventListener;
 
 /**
- * Listener for vtn network event.
+ * CORD VTN network API definitions.
  */
-public interface VtnNetworkListener extends EventListener<VtnNetworkEvent> {
-}
+package org.opencord.cordvtn.api.net;
\ No newline at end of file
diff --git a/src/main/java/org/opencord/cordvtn/api/ConnectionHandler.java b/src/main/java/org/opencord/cordvtn/api/node/ConnectionHandler.java
similarity index 96%
rename from src/main/java/org/opencord/cordvtn/api/ConnectionHandler.java
rename to src/main/java/org/opencord/cordvtn/api/node/ConnectionHandler.java
index 6f032fa..f3e3ad4 100644
--- a/src/main/java/org/opencord/cordvtn/api/ConnectionHandler.java
+++ b/src/main/java/org/opencord/cordvtn/api/node/ConnectionHandler.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.node;
 
 /**
  * Entity capable of handling a subject connected and disconnected situation.
diff --git a/src/main/java/org/opencord/cordvtn/api/CordVtnNode.java b/src/main/java/org/opencord/cordvtn/api/node/CordVtnNode.java
similarity index 99%
rename from src/main/java/org/opencord/cordvtn/api/CordVtnNode.java
rename to src/main/java/org/opencord/cordvtn/api/node/CordVtnNode.java
index 206220f..2c3916c 100644
--- a/src/main/java/org/opencord/cordvtn/api/CordVtnNode.java
+++ b/src/main/java/org/opencord/cordvtn/api/node/CordVtnNode.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.node;
 
 import com.google.common.base.MoreObjects;
 import com.google.common.base.Strings;
diff --git a/src/main/java/org/opencord/cordvtn/api/CordVtnNodeState.java b/src/main/java/org/opencord/cordvtn/api/node/CordVtnNodeState.java
similarity index 95%
rename from src/main/java/org/opencord/cordvtn/api/CordVtnNodeState.java
rename to src/main/java/org/opencord/cordvtn/api/node/CordVtnNodeState.java
index c95e270..e3d9cd5 100644
--- a/src/main/java/org/opencord/cordvtn/api/CordVtnNodeState.java
+++ b/src/main/java/org/opencord/cordvtn/api/node/CordVtnNodeState.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.node;
 
 /**
  * Entity that defines possible init state of the cordvtn node.
diff --git a/src/main/java/org/opencord/cordvtn/api/NetworkAddress.java b/src/main/java/org/opencord/cordvtn/api/node/NetworkAddress.java
similarity index 98%
rename from src/main/java/org/opencord/cordvtn/api/NetworkAddress.java
rename to src/main/java/org/opencord/cordvtn/api/node/NetworkAddress.java
index 551d084..93bcb7a 100644
--- a/src/main/java/org/opencord/cordvtn/api/NetworkAddress.java
+++ b/src/main/java/org/opencord/cordvtn/api/node/NetworkAddress.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.node;
 
 import com.google.common.base.MoreObjects;
 import org.onlab.packet.IpAddress;
diff --git a/src/main/java/org/opencord/cordvtn/api/SshAccessInfo.java b/src/main/java/org/opencord/cordvtn/api/node/SshAccessInfo.java
similarity index 98%
rename from src/main/java/org/opencord/cordvtn/api/SshAccessInfo.java
rename to src/main/java/org/opencord/cordvtn/api/node/SshAccessInfo.java
index 3a85978..6ed720e 100644
--- a/src/main/java/org/opencord/cordvtn/api/SshAccessInfo.java
+++ b/src/main/java/org/opencord/cordvtn/api/node/SshAccessInfo.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
+package org.opencord.cordvtn.api.node;
 
 import com.google.common.base.MoreObjects;
 import org.onlab.packet.Ip4Address;
diff --git a/src/main/java/org/opencord/cordvtn/api/VtnNetworkListener.java b/src/main/java/org/opencord/cordvtn/api/node/package-info.java
similarity index 76%
copy from src/main/java/org/opencord/cordvtn/api/VtnNetworkListener.java
copy to src/main/java/org/opencord/cordvtn/api/node/package-info.java
index be78ef0..261cbc7 100644
--- a/src/main/java/org/opencord/cordvtn/api/VtnNetworkListener.java
+++ b/src/main/java/org/opencord/cordvtn/api/node/package-info.java
@@ -13,12 +13,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.opencord.cordvtn.api;
-
-import org.onosproject.event.EventListener;
 
 /**
- * Listener for vtn network event.
+ * CORD VTN node API definitions.
  */
-public interface VtnNetworkListener extends EventListener<VtnNetworkEvent> {
-}
+package org.opencord.cordvtn.api.node;
\ No newline at end of file
diff --git a/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeCheckCommand.java b/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeCheckCommand.java
index d0189e4..17dbb45 100644
--- a/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeCheckCommand.java
+++ b/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeCheckCommand.java
@@ -23,7 +23,7 @@
 import org.onosproject.cli.AbstractShellCommand;
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.Port;
-import org.opencord.cordvtn.api.CordVtnNode;
+import org.opencord.cordvtn.api.node.CordVtnNode;
 import org.opencord.cordvtn.impl.CordVtnNodeManager;
 import org.onosproject.net.Device;
 import org.onosproject.net.device.DeviceService;
diff --git a/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeDeleteCommand.java b/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeDeleteCommand.java
index 19a4b8a..d098efe 100644
--- a/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeDeleteCommand.java
+++ b/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeDeleteCommand.java
@@ -20,7 +20,7 @@
 import org.apache.karaf.shell.commands.Command;
 import org.onosproject.cli.AbstractShellCommand;
 import org.opencord.cordvtn.impl.CordVtnNodeManager;
-import org.opencord.cordvtn.api.CordVtnNode;
+import org.opencord.cordvtn.api.node.CordVtnNode;
 
 import java.util.NoSuchElementException;
 
diff --git a/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeInitCommand.java b/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeInitCommand.java
index 4ec2040..c7da215 100644
--- a/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeInitCommand.java
+++ b/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeInitCommand.java
@@ -20,7 +20,7 @@
 import org.apache.karaf.shell.commands.Command;
 import org.onosproject.cli.AbstractShellCommand;
 import org.opencord.cordvtn.impl.CordVtnNodeManager;
-import org.opencord.cordvtn.api.CordVtnNode;
+import org.opencord.cordvtn.api.node.CordVtnNode;
 
 import java.util.NoSuchElementException;
 
diff --git a/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeListCommand.java b/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeListCommand.java
index 0b25e7b..1a40397 100644
--- a/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeListCommand.java
+++ b/src/main/java/org/opencord/cordvtn/cli/CordVtnNodeListCommand.java
@@ -22,7 +22,7 @@
 import org.apache.karaf.shell.commands.Command;
 import org.onosproject.cli.AbstractShellCommand;
 import org.opencord.cordvtn.impl.CordVtnNodeManager;
-import org.opencord.cordvtn.api.CordVtnNode;
+import org.opencord.cordvtn.api.node.CordVtnNode;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/src/main/java/org/opencord/cordvtn/codec/CodecRegistrator.java b/src/main/java/org/opencord/cordvtn/codec/CodecRegistrator.java
index 0352f98..f9e1f3f 100644
--- a/src/main/java/org/opencord/cordvtn/codec/CodecRegistrator.java
+++ b/src/main/java/org/opencord/cordvtn/codec/CodecRegistrator.java
@@ -21,8 +21,8 @@
 import org.apache.felix.scr.annotations.Reference;
 import org.apache.felix.scr.annotations.ReferenceCardinality;
 import org.onosproject.codec.CodecService;
-import org.opencord.cordvtn.api.ServiceNetwork;
-import org.opencord.cordvtn.api.ServicePort;
+import org.opencord.cordvtn.api.net.ServiceNetwork;
+import org.opencord.cordvtn.api.net.ServicePort;
 import org.slf4j.Logger;
 
 import static org.slf4j.LoggerFactory.getLogger;
diff --git a/src/main/java/org/opencord/cordvtn/codec/ServiceNetworkCodec.java b/src/main/java/org/opencord/cordvtn/codec/ServiceNetworkCodec.java
index 37df2d0..b2ab70f 100644
--- a/src/main/java/org/opencord/cordvtn/codec/ServiceNetworkCodec.java
+++ b/src/main/java/org/opencord/cordvtn/codec/ServiceNetworkCodec.java
@@ -20,19 +20,19 @@
 import com.google.common.collect.Sets;
 import org.onosproject.codec.CodecContext;
 import org.onosproject.codec.JsonCodec;
-import org.opencord.cordvtn.api.Dependency;
-import org.opencord.cordvtn.api.NetworkId;
-import org.opencord.cordvtn.api.ProviderNetwork;
-import org.opencord.cordvtn.api.ServiceNetwork;
-import org.opencord.cordvtn.api.ServiceNetwork.ServiceNetworkType;
+import org.opencord.cordvtn.api.dependency.Dependency;
+import org.opencord.cordvtn.api.net.NetworkId;
+import org.opencord.cordvtn.api.net.ProviderNetwork;
+import org.opencord.cordvtn.api.net.ServiceNetwork;
+import org.opencord.cordvtn.api.net.ServiceNetwork.ServiceNetworkType;
 
 import java.util.Set;
 
 import static java.lang.Boolean.FALSE;
 import static java.lang.Boolean.TRUE;
-import static org.opencord.cordvtn.api.Dependency.Type.BIDIRECTIONAL;
-import static org.opencord.cordvtn.api.Dependency.Type.UNIDIRECTIONAL;
-import static org.opencord.cordvtn.api.ServiceNetwork.ServiceNetworkType.valueOf;
+import static org.opencord.cordvtn.api.dependency.Dependency.Type.BIDIRECTIONAL;
+import static org.opencord.cordvtn.api.dependency.Dependency.Type.UNIDIRECTIONAL;
+import static org.opencord.cordvtn.api.net.ServiceNetwork.ServiceNetworkType.valueOf;
 
 /**
  * Service network JSON codec.
diff --git a/src/main/java/org/opencord/cordvtn/codec/ServicePortCodec.java b/src/main/java/org/opencord/cordvtn/codec/ServicePortCodec.java
index 91681d0..9630ee8 100644
--- a/src/main/java/org/opencord/cordvtn/codec/ServicePortCodec.java
+++ b/src/main/java/org/opencord/cordvtn/codec/ServicePortCodec.java
@@ -23,9 +23,9 @@
 import org.onlab.packet.VlanId;
 import org.onosproject.codec.CodecContext;
 import org.onosproject.codec.JsonCodec;
-import org.opencord.cordvtn.api.AddressPair;
-import org.opencord.cordvtn.api.PortId;
-import org.opencord.cordvtn.api.ServicePort;
+import org.opencord.cordvtn.api.net.AddressPair;
+import org.opencord.cordvtn.api.net.PortId;
+import org.opencord.cordvtn.api.net.ServicePort;
 
 import java.util.Set;
 
diff --git a/src/main/java/org/opencord/cordvtn/impl/CordVtnArpProxy.java b/src/main/java/org/opencord/cordvtn/impl/CordVtnArpProxy.java
index 15269dd..c2e2a62 100644
--- a/src/main/java/org/opencord/cordvtn/impl/CordVtnArpProxy.java
+++ b/src/main/java/org/opencord/cordvtn/impl/CordVtnArpProxy.java
@@ -34,8 +34,8 @@
 import org.onosproject.net.config.NetworkConfigListener;
 import org.onosproject.net.config.NetworkConfigRegistry;
 import org.onosproject.net.packet.PacketProcessor;
-import org.opencord.cordvtn.api.CordVtnConfig;
-import org.opencord.cordvtn.api.Instance;
+import org.opencord.cordvtn.api.config.CordVtnConfig;
+import org.opencord.cordvtn.api.instance.Instance;
 import org.onosproject.net.Host;
 import org.onosproject.net.flow.DefaultTrafficSelector;
 import org.onosproject.net.flow.DefaultTrafficTreatment;
@@ -45,7 +45,7 @@
 import org.onosproject.net.packet.PacketContext;
 import org.onosproject.net.packet.PacketPriority;
 import org.onosproject.net.packet.PacketService;
-import org.opencord.cordvtn.api.VtnNetwork;
+import org.opencord.cordvtn.api.net.VtnNetwork;
 import org.opencord.cordvtn.impl.handler.AbstractInstanceHandler;
 import org.slf4j.Logger;
 
@@ -55,7 +55,7 @@
 import java.util.Set;
 
 import static com.google.common.base.Preconditions.checkNotNull;
-import static org.opencord.cordvtn.api.ServiceNetwork.ServiceNetworkType.*;
+import static org.opencord.cordvtn.api.net.ServiceNetwork.ServiceNetworkType.*;
 import static org.slf4j.LoggerFactory.getLogger;
 
 /**
diff --git a/src/main/java/org/opencord/cordvtn/impl/CordVtnManager.java b/src/main/java/org/opencord/cordvtn/impl/CordVtnManager.java
index d7aead8..43cf3d8 100644
--- a/src/main/java/org/opencord/cordvtn/impl/CordVtnManager.java
+++ b/src/main/java/org/opencord/cordvtn/impl/CordVtnManager.java
@@ -26,22 +26,22 @@
 import org.onosproject.net.Host;
 import org.onosproject.net.HostId;
 import org.onosproject.net.host.HostService;
-import org.opencord.cordvtn.api.CordVtnAdminService;
-import org.opencord.cordvtn.api.CordVtnService;
-import org.opencord.cordvtn.api.CordVtnStore;
-import org.opencord.cordvtn.api.CordVtnStoreDelegate;
-import org.opencord.cordvtn.api.Instance;
-import org.opencord.cordvtn.api.NetworkId;
-import org.opencord.cordvtn.api.NetworkService;
-import org.opencord.cordvtn.api.PortId;
-import org.opencord.cordvtn.api.ServiceNetwork;
-import org.opencord.cordvtn.api.ServiceNetworkService;
-import org.opencord.cordvtn.api.ServicePort;
-import org.opencord.cordvtn.api.SubnetId;
-import org.opencord.cordvtn.api.VtnNetwork;
-import org.opencord.cordvtn.api.VtnNetworkEvent;
-import org.opencord.cordvtn.api.VtnNetworkListener;
-import org.opencord.cordvtn.api.VtnPort;
+import org.opencord.cordvtn.api.core.CordVtnAdminService;
+import org.opencord.cordvtn.api.core.CordVtnService;
+import org.opencord.cordvtn.api.core.CordVtnStore;
+import org.opencord.cordvtn.api.core.CordVtnStoreDelegate;
+import org.opencord.cordvtn.api.instance.Instance;
+import org.opencord.cordvtn.api.net.NetworkId;
+import org.opencord.cordvtn.api.net.NetworkService;
+import org.opencord.cordvtn.api.net.PortId;
+import org.opencord.cordvtn.api.net.ServiceNetwork;
+import org.opencord.cordvtn.api.net.ServiceNetworkService;
+import org.opencord.cordvtn.api.net.ServicePort;
+import org.opencord.cordvtn.api.net.SubnetId;
+import org.opencord.cordvtn.api.net.VtnNetwork;
+import org.opencord.cordvtn.api.net.VtnNetworkEvent;
+import org.opencord.cordvtn.api.net.VtnNetworkListener;
+import org.opencord.cordvtn.api.net.VtnPort;
 import org.openstack4j.model.network.Network;
 import org.openstack4j.model.network.Port;
 import org.openstack4j.model.network.Subnet;
diff --git a/src/main/java/org/opencord/cordvtn/impl/CordVtnNodeManager.java b/src/main/java/org/opencord/cordvtn/impl/CordVtnNodeManager.java
index ff43f93..b1858a3 100644
--- a/src/main/java/org/opencord/cordvtn/impl/CordVtnNodeManager.java
+++ b/src/main/java/org/opencord/cordvtn/impl/CordVtnNodeManager.java
@@ -36,13 +36,13 @@
 import org.onosproject.net.behaviour.TunnelKeys;
 import org.onosproject.net.config.ConfigFactory;
 import org.onosproject.net.config.basics.SubjectFactories;
-import org.opencord.cordvtn.api.ConnectionHandler;
-import org.opencord.cordvtn.api.CordVtnConfig;
-import org.opencord.cordvtn.api.CordVtnNode;
-import org.opencord.cordvtn.api.CordVtnNodeState;
-import org.opencord.cordvtn.api.InstanceService;
-import org.opencord.cordvtn.api.NetworkAddress;
-import org.opencord.cordvtn.api.SshAccessInfo;
+import org.opencord.cordvtn.api.node.ConnectionHandler;
+import org.opencord.cordvtn.api.config.CordVtnConfig;
+import org.opencord.cordvtn.api.node.CordVtnNode;
+import org.opencord.cordvtn.api.node.CordVtnNodeState;
+import org.opencord.cordvtn.api.instance.InstanceService;
+import org.opencord.cordvtn.api.node.NetworkAddress;
+import org.opencord.cordvtn.api.node.SshAccessInfo;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.core.CoreService;
 import org.onosproject.net.ConnectPoint;
diff --git a/src/main/java/org/opencord/cordvtn/impl/CordVtnPipeline.java b/src/main/java/org/opencord/cordvtn/impl/CordVtnPipeline.java
index 0bea32e..af6f27c 100644
--- a/src/main/java/org/opencord/cordvtn/impl/CordVtnPipeline.java
+++ b/src/main/java/org/opencord/cordvtn/impl/CordVtnPipeline.java
@@ -30,7 +30,7 @@
 import org.onosproject.net.AnnotationKeys;
 import org.onosproject.net.Port;
 import org.opencord.cordvtn.api.Constants;
-import org.opencord.cordvtn.api.CordVtnNode;
+import org.opencord.cordvtn.api.node.CordVtnNode;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.core.CoreService;
 import org.onosproject.net.Device;
diff --git a/src/main/java/org/opencord/cordvtn/impl/DependencyManager.java b/src/main/java/org/opencord/cordvtn/impl/DependencyManager.java
index 3a36b53..fa9c36a 100644
--- a/src/main/java/org/opencord/cordvtn/impl/DependencyManager.java
+++ b/src/main/java/org/opencord/cordvtn/impl/DependencyManager.java
@@ -38,13 +38,13 @@
 import org.onosproject.store.service.MapEventListener;
 import org.onosproject.store.service.Serializer;
 import org.onosproject.store.service.StorageService;
-import org.opencord.cordvtn.api.CordVtnAdminService;
 import org.onosproject.store.service.Versioned;
-import org.opencord.cordvtn.api.CordVtnNode;
-import org.opencord.cordvtn.api.Dependency;
-import org.opencord.cordvtn.api.Dependency.Type;
-import org.opencord.cordvtn.api.DependencyService;
-import org.opencord.cordvtn.api.Instance;
+import org.opencord.cordvtn.api.core.CordVtnAdminService;
+import org.opencord.cordvtn.api.node.CordVtnNode;
+import org.opencord.cordvtn.api.dependency.Dependency;
+import org.opencord.cordvtn.api.dependency.Dependency.Type;
+import org.opencord.cordvtn.api.dependency.DependencyService;
+import org.opencord.cordvtn.api.instance.Instance;
 import org.onosproject.core.DefaultGroupId;
 import org.onosproject.core.GroupId;
 import org.onosproject.net.DeviceId;
@@ -64,13 +64,13 @@
 import org.onosproject.net.group.GroupDescription;
 import org.onosproject.net.group.GroupKey;
 import org.onosproject.net.group.GroupService;
-import org.opencord.cordvtn.api.NetworkId;
-import org.opencord.cordvtn.api.ProviderNetwork;
-import org.opencord.cordvtn.api.SegmentId;
-import org.opencord.cordvtn.api.ServiceNetwork.ServiceNetworkType;
-import org.opencord.cordvtn.api.VtnNetwork;
-import org.opencord.cordvtn.api.VtnNetworkEvent;
-import org.opencord.cordvtn.api.VtnNetworkListener;
+import org.opencord.cordvtn.api.net.NetworkId;
+import org.opencord.cordvtn.api.net.ProviderNetwork;
+import org.opencord.cordvtn.api.net.SegmentId;
+import org.opencord.cordvtn.api.net.ServiceNetwork.ServiceNetworkType;
+import org.opencord.cordvtn.api.net.VtnNetwork;
+import org.opencord.cordvtn.api.net.VtnNetworkEvent;
+import org.opencord.cordvtn.api.net.VtnNetworkListener;
 import org.opencord.cordvtn.impl.handler.AbstractInstanceHandler;
 import org.slf4j.Logger;
 
@@ -81,8 +81,8 @@
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import static org.opencord.cordvtn.api.Dependency.Type.BIDIRECTIONAL;
-import static org.opencord.cordvtn.api.ServiceNetwork.ServiceNetworkType.ACCESS_AGENT;
+import static org.opencord.cordvtn.api.dependency.Dependency.Type.BIDIRECTIONAL;
+import static org.opencord.cordvtn.api.net.ServiceNetwork.ServiceNetworkType.ACCESS_AGENT;
 import static org.opencord.cordvtn.impl.CordVtnPipeline.*;
 import static org.onosproject.net.group.DefaultGroupBucket.createSelectGroupBucket;
 import static org.slf4j.LoggerFactory.getLogger;
diff --git a/src/main/java/org/opencord/cordvtn/impl/DistributedCordVtnStore.java b/src/main/java/org/opencord/cordvtn/impl/DistributedCordVtnStore.java
index a3b41cc..6846b6f 100644
--- a/src/main/java/org/opencord/cordvtn/impl/DistributedCordVtnStore.java
+++ b/src/main/java/org/opencord/cordvtn/impl/DistributedCordVtnStore.java
@@ -26,7 +26,7 @@
 import org.onosproject.store.service.MapEvent;
 import org.onosproject.store.service.MapEventListener;
 import org.onosproject.store.service.Versioned;
-import org.opencord.cordvtn.api.CordVtnStore;
+import org.opencord.cordvtn.api.core.CordVtnStore;
 import org.onlab.util.KryoNamespace;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.core.CoreService;
@@ -34,18 +34,18 @@
 import org.onosproject.store.service.ConsistentMap;
 import org.onosproject.store.service.Serializer;
 import org.onosproject.store.service.StorageService;
-import org.opencord.cordvtn.api.AddressPair;
-import org.opencord.cordvtn.api.CordVtnStoreDelegate;
-import org.opencord.cordvtn.api.Dependency;
-import org.opencord.cordvtn.api.NetworkId;
-import org.opencord.cordvtn.api.PortId;
-import org.opencord.cordvtn.api.ProviderNetwork;
-import org.opencord.cordvtn.api.SegmentId;
-import org.opencord.cordvtn.api.ServiceNetwork.ServiceNetworkType;
-import org.opencord.cordvtn.api.SubnetId;
-import org.opencord.cordvtn.api.VtnNetwork;
-import org.opencord.cordvtn.api.VtnNetworkEvent;
-import org.opencord.cordvtn.api.VtnPort;
+import org.opencord.cordvtn.api.net.AddressPair;
+import org.opencord.cordvtn.api.core.CordVtnStoreDelegate;
+import org.opencord.cordvtn.api.dependency.Dependency;
+import org.opencord.cordvtn.api.net.NetworkId;
+import org.opencord.cordvtn.api.net.PortId;
+import org.opencord.cordvtn.api.net.ProviderNetwork;
+import org.opencord.cordvtn.api.net.SegmentId;
+import org.opencord.cordvtn.api.net.ServiceNetwork.ServiceNetworkType;
+import org.opencord.cordvtn.api.net.SubnetId;
+import org.opencord.cordvtn.api.net.VtnNetwork;
+import org.opencord.cordvtn.api.net.VtnNetworkEvent;
+import org.opencord.cordvtn.api.net.VtnPort;
 import org.openstack4j.model.network.IPVersionType;
 import org.openstack4j.model.network.Network;
 import org.openstack4j.model.network.NetworkType;
@@ -70,7 +70,7 @@
 import static java.util.concurrent.Executors.newSingleThreadExecutor;
 import static org.onlab.util.Tools.groupedThreads;
 import static org.opencord.cordvtn.api.Constants.CORDVTN_APP_ID;
-import static org.opencord.cordvtn.api.VtnNetworkEvent.Type.*;
+import static org.opencord.cordvtn.api.net.VtnNetworkEvent.Type.*;
 import static org.slf4j.LoggerFactory.getLogger;
 
 /**
diff --git a/src/main/java/org/opencord/cordvtn/impl/InstanceManager.java b/src/main/java/org/opencord/cordvtn/impl/InstanceManager.java
index 4671c4d..fee0931 100644
--- a/src/main/java/org/opencord/cordvtn/impl/InstanceManager.java
+++ b/src/main/java/org/opencord/cordvtn/impl/InstanceManager.java
@@ -30,8 +30,8 @@
 import org.onosproject.cluster.NodeId;
 import org.opencord.cordconfig.CordConfigService;
 import org.opencord.cordconfig.access.AccessAgentData;
-import org.opencord.cordvtn.api.CordVtnService;
-import org.opencord.cordvtn.api.Instance;
+import org.opencord.cordvtn.api.core.CordVtnService;
+import org.opencord.cordvtn.api.instance.Instance;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.core.CoreService;
 import org.onosproject.dhcp.DhcpService;
@@ -51,12 +51,12 @@
 import org.onosproject.net.host.HostService;
 import org.onosproject.net.provider.AbstractProvider;
 import org.onosproject.net.provider.ProviderId;
-import org.opencord.cordvtn.api.InstanceService;
-import org.opencord.cordvtn.api.PortId;
-import org.opencord.cordvtn.api.VtnNetwork;
-import org.opencord.cordvtn.api.VtnNetworkEvent;
-import org.opencord.cordvtn.api.VtnNetworkListener;
-import org.opencord.cordvtn.api.VtnPort;
+import org.opencord.cordvtn.api.instance.InstanceService;
+import org.opencord.cordvtn.api.net.PortId;
+import org.opencord.cordvtn.api.net.VtnNetwork;
+import org.opencord.cordvtn.api.net.VtnNetworkEvent;
+import org.opencord.cordvtn.api.net.VtnNetworkListener;
+import org.opencord.cordvtn.api.net.VtnPort;
 import org.slf4j.Logger;
 
 import java.util.Date;
@@ -69,9 +69,9 @@
 import static org.onosproject.dhcp.IpAssignment.AssignmentStatus.Option_RangeNotEnforced;
 import static org.onosproject.net.AnnotationKeys.PORT_NAME;
 import static org.opencord.cordvtn.api.Constants.*;
-import static org.opencord.cordvtn.api.ServiceNetwork.ServiceNetworkType.ACCESS_AGENT;
-import static org.opencord.cordvtn.api.ServiceNetwork.ServiceNetworkType.MANAGEMENT_HOST;
-import static org.opencord.cordvtn.api.ServiceNetwork.ServiceNetworkType.MANAGEMENT_LOCAL;
+import static org.opencord.cordvtn.api.net.ServiceNetwork.ServiceNetworkType.ACCESS_AGENT;
+import static org.opencord.cordvtn.api.net.ServiceNetwork.ServiceNetworkType.MANAGEMENT_HOST;
+import static org.opencord.cordvtn.api.net.ServiceNetwork.ServiceNetworkType.MANAGEMENT_LOCAL;
 import static org.slf4j.LoggerFactory.getLogger;
 
 /**
diff --git a/src/main/java/org/opencord/cordvtn/impl/RemoteIpCommandUtil.java b/src/main/java/org/opencord/cordvtn/impl/RemoteIpCommandUtil.java
index 0be4fc4..e357a27 100644
--- a/src/main/java/org/opencord/cordvtn/impl/RemoteIpCommandUtil.java
+++ b/src/main/java/org/opencord/cordvtn/impl/RemoteIpCommandUtil.java
@@ -23,8 +23,8 @@
 import com.jcraft.jsch.JSchException;
 import com.jcraft.jsch.Session;
 import org.onlab.packet.IpAddress;
-import org.opencord.cordvtn.api.NetworkAddress;
-import org.opencord.cordvtn.api.SshAccessInfo;
+import org.opencord.cordvtn.api.node.NetworkAddress;
+import org.opencord.cordvtn.api.node.SshAccessInfo;
 import org.slf4j.Logger;
 
 import java.io.IOException;
diff --git a/src/main/java/org/opencord/cordvtn/impl/handler/AbstractInstanceHandler.java b/src/main/java/org/opencord/cordvtn/impl/handler/AbstractInstanceHandler.java
index d76f56a..01ccb91 100644
--- a/src/main/java/org/opencord/cordvtn/impl/handler/AbstractInstanceHandler.java
+++ b/src/main/java/org/opencord/cordvtn/impl/handler/AbstractInstanceHandler.java
@@ -26,13 +26,13 @@
 import org.onosproject.net.host.HostListener;
 import org.onosproject.net.host.HostService;
 import org.opencord.cordvtn.api.Constants;
-import org.opencord.cordvtn.api.CordVtnService;
-import org.opencord.cordvtn.api.Instance;
-import org.opencord.cordvtn.api.InstanceHandler;
-import org.opencord.cordvtn.api.NetworkId;
-import org.opencord.cordvtn.api.ServiceNetwork.ServiceNetworkType;
-import org.opencord.cordvtn.api.VtnNetwork;
-import org.opencord.cordvtn.api.VtnPort;
+import org.opencord.cordvtn.api.core.CordVtnService;
+import org.opencord.cordvtn.api.instance.Instance;
+import org.opencord.cordvtn.api.instance.InstanceHandler;
+import org.opencord.cordvtn.api.net.NetworkId;
+import org.opencord.cordvtn.api.net.ServiceNetwork.ServiceNetworkType;
+import org.opencord.cordvtn.api.net.VtnNetwork;
+import org.opencord.cordvtn.api.net.VtnPort;
 import org.slf4j.Logger;
 
 import java.util.Objects;
diff --git a/src/main/java/org/opencord/cordvtn/impl/handler/AccessAgentInstanceHandler.java b/src/main/java/org/opencord/cordvtn/impl/handler/AccessAgentInstanceHandler.java
index 8a818b8..aee4d13 100644
--- a/src/main/java/org/opencord/cordvtn/impl/handler/AccessAgentInstanceHandler.java
+++ b/src/main/java/org/opencord/cordvtn/impl/handler/AccessAgentInstanceHandler.java
@@ -28,12 +28,12 @@
 import org.onosproject.net.flow.FlowRule;
 import org.onosproject.net.flow.TrafficSelector;
 import org.onosproject.net.flow.TrafficTreatment;
-import org.opencord.cordvtn.api.Instance;
-import org.opencord.cordvtn.api.InstanceHandler;
+import org.opencord.cordvtn.api.instance.Instance;
+import org.opencord.cordvtn.api.instance.InstanceHandler;
 import org.opencord.cordvtn.impl.CordVtnNodeManager;
 import org.opencord.cordvtn.impl.CordVtnPipeline;
 
-import static org.opencord.cordvtn.api.ServiceNetwork.ServiceNetworkType.ACCESS_AGENT;
+import static org.opencord.cordvtn.api.net.ServiceNetwork.ServiceNetworkType.ACCESS_AGENT;
 
 /**
  * Provides network connectivity for access agent instances.
diff --git a/src/main/java/org/opencord/cordvtn/impl/handler/DefaultInstanceHandler.java b/src/main/java/org/opencord/cordvtn/impl/handler/DefaultInstanceHandler.java
index 8cda98c..c33bb78 100644
--- a/src/main/java/org/opencord/cordvtn/impl/handler/DefaultInstanceHandler.java
+++ b/src/main/java/org/opencord/cordvtn/impl/handler/DefaultInstanceHandler.java
@@ -32,16 +32,16 @@
 import org.onosproject.net.flow.TrafficSelector;
 import org.onosproject.net.flow.TrafficTreatment;
 import org.onosproject.net.flow.instructions.ExtensionTreatment;
-import org.opencord.cordvtn.api.VtnNetwork;
-import org.opencord.cordvtn.api.CordVtnNode;
-import org.opencord.cordvtn.api.Instance;
-import org.opencord.cordvtn.api.InstanceHandler;
+import org.opencord.cordvtn.api.net.VtnNetwork;
+import org.opencord.cordvtn.api.node.CordVtnNode;
+import org.opencord.cordvtn.api.instance.Instance;
+import org.opencord.cordvtn.api.instance.InstanceHandler;
 import org.opencord.cordvtn.impl.CordVtnNodeManager;
 import org.opencord.cordvtn.impl.CordVtnPipeline;
 
-import static org.opencord.cordvtn.api.ServiceNetwork.ServiceNetworkType.PRIVATE;
-import static org.opencord.cordvtn.api.ServiceNetwork.ServiceNetworkType.PUBLIC;
-import static org.opencord.cordvtn.api.ServiceNetwork.ServiceNetworkType.VSG;
+import static org.opencord.cordvtn.api.net.ServiceNetwork.ServiceNetworkType.PRIVATE;
+import static org.opencord.cordvtn.api.net.ServiceNetwork.ServiceNetworkType.PUBLIC;
+import static org.opencord.cordvtn.api.net.ServiceNetwork.ServiceNetworkType.VSG;
 
 /**
  * Provides network connectivity for default service instances.
diff --git a/src/main/java/org/opencord/cordvtn/impl/handler/ManagementInstanceHandler.java b/src/main/java/org/opencord/cordvtn/impl/handler/ManagementInstanceHandler.java
index 496ed66..dd3eb81 100644
--- a/src/main/java/org/opencord/cordvtn/impl/handler/ManagementInstanceHandler.java
+++ b/src/main/java/org/opencord/cordvtn/impl/handler/ManagementInstanceHandler.java
@@ -29,14 +29,14 @@
 import org.onosproject.net.flow.FlowRule;
 import org.onosproject.net.flow.TrafficSelector;
 import org.onosproject.net.flow.TrafficTreatment;
-import org.opencord.cordvtn.api.Instance;
-import org.opencord.cordvtn.api.InstanceHandler;
-import org.opencord.cordvtn.api.VtnNetwork;
+import org.opencord.cordvtn.api.instance.Instance;
+import org.opencord.cordvtn.api.instance.InstanceHandler;
+import org.opencord.cordvtn.api.net.VtnNetwork;
 import org.opencord.cordvtn.impl.CordVtnNodeManager;
 import org.opencord.cordvtn.impl.CordVtnPipeline;
 
-import static org.opencord.cordvtn.api.ServiceNetwork.ServiceNetworkType.MANAGEMENT_HOST;
-import static org.opencord.cordvtn.api.ServiceNetwork.ServiceNetworkType.MANAGEMENT_LOCAL;
+import static org.opencord.cordvtn.api.net.ServiceNetwork.ServiceNetworkType.MANAGEMENT_HOST;
+import static org.opencord.cordvtn.api.net.ServiceNetwork.ServiceNetworkType.MANAGEMENT_LOCAL;
 
 /**
  * Provides local management network connectivity to the instance. The instance
diff --git a/src/main/java/org/opencord/cordvtn/impl/handler/VsgInstanceHandler.java b/src/main/java/org/opencord/cordvtn/impl/handler/VsgInstanceHandler.java
index 76cef03..694d53a 100644
--- a/src/main/java/org/opencord/cordvtn/impl/handler/VsgInstanceHandler.java
+++ b/src/main/java/org/opencord/cordvtn/impl/handler/VsgInstanceHandler.java
@@ -29,10 +29,10 @@
 import org.onlab.packet.MacAddress;
 import org.onlab.packet.VlanId;
 import org.onosproject.net.Host;
-import org.opencord.cordvtn.api.AddressPair;
-import org.opencord.cordvtn.api.InstanceService;
-import org.opencord.cordvtn.api.Instance;
-import org.opencord.cordvtn.api.InstanceHandler;
+import org.opencord.cordvtn.api.net.AddressPair;
+import org.opencord.cordvtn.api.instance.InstanceService;
+import org.opencord.cordvtn.api.instance.Instance;
+import org.opencord.cordvtn.api.instance.InstanceHandler;
 import org.onosproject.net.DefaultAnnotations;
 import org.onosproject.net.HostId;
 import org.onosproject.net.PortNumber;
@@ -50,7 +50,7 @@
 import org.onosproject.net.flow.instructions.L2ModificationInstruction;
 import org.onosproject.net.host.DefaultHostDescription;
 import org.onosproject.net.host.HostDescription;
-import org.opencord.cordvtn.api.VtnPort;
+import org.opencord.cordvtn.api.net.VtnPort;
 import org.opencord.cordvtn.impl.CordVtnNodeManager;
 import org.opencord.cordvtn.impl.CordVtnPipeline;
 
@@ -59,7 +59,7 @@
 
 import static org.onosproject.net.flow.criteria.Criterion.Type.IPV4_DST;
 import static org.onosproject.net.flow.instructions.L2ModificationInstruction.L2SubType.VLAN_PUSH;
-import static org.opencord.cordvtn.api.ServiceNetwork.ServiceNetworkType.VSG;
+import static org.opencord.cordvtn.api.net.ServiceNetwork.ServiceNetworkType.VSG;
 
 /**
  * Provides network connectivity for vSG instances.
diff --git a/src/main/java/org/opencord/cordvtn/rest/NeutronMl2NetworksWebResource.java b/src/main/java/org/opencord/cordvtn/rest/NeutronMl2NetworksWebResource.java
index f29c12b..5baf99b 100644
--- a/src/main/java/org/opencord/cordvtn/rest/NeutronMl2NetworksWebResource.java
+++ b/src/main/java/org/opencord/cordvtn/rest/NeutronMl2NetworksWebResource.java
@@ -20,8 +20,8 @@
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import org.onlab.osgi.DefaultServiceDirectory;
 import org.onosproject.rest.AbstractWebResource;
-import org.opencord.cordvtn.api.CordVtnAdminService;
-import org.opencord.cordvtn.api.NetworkId;
+import org.opencord.cordvtn.api.core.CordVtnAdminService;
+import org.opencord.cordvtn.api.net.NetworkId;
 import org.openstack4j.core.transport.ObjectMapperSingleton;
 import org.openstack4j.model.network.Network;
 import org.openstack4j.openstack.networking.domain.NeutronNetwork;
diff --git a/src/main/java/org/opencord/cordvtn/rest/NeutronMl2PortsWebResource.java b/src/main/java/org/opencord/cordvtn/rest/NeutronMl2PortsWebResource.java
index a784330..d1b52ce 100644
--- a/src/main/java/org/opencord/cordvtn/rest/NeutronMl2PortsWebResource.java
+++ b/src/main/java/org/opencord/cordvtn/rest/NeutronMl2PortsWebResource.java
@@ -19,8 +19,8 @@
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import org.onlab.osgi.DefaultServiceDirectory;
-import org.opencord.cordvtn.api.CordVtnAdminService;
-import org.opencord.cordvtn.api.PortId;
+import org.opencord.cordvtn.api.core.CordVtnAdminService;
+import org.opencord.cordvtn.api.net.PortId;
 import org.onosproject.rest.AbstractWebResource;
 import org.openstack4j.core.transport.ObjectMapperSingleton;
 import org.openstack4j.model.network.Port;
diff --git a/src/main/java/org/opencord/cordvtn/rest/NeutronMl2SubnetsWebResource.java b/src/main/java/org/opencord/cordvtn/rest/NeutronMl2SubnetsWebResource.java
index 3d50604..aa374db 100644
--- a/src/main/java/org/opencord/cordvtn/rest/NeutronMl2SubnetsWebResource.java
+++ b/src/main/java/org/opencord/cordvtn/rest/NeutronMl2SubnetsWebResource.java
@@ -20,8 +20,8 @@
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import org.onlab.osgi.DefaultServiceDirectory;
 import org.onosproject.rest.AbstractWebResource;
-import org.opencord.cordvtn.api.CordVtnAdminService;
-import org.opencord.cordvtn.api.SubnetId;
+import org.opencord.cordvtn.api.core.CordVtnAdminService;
+import org.opencord.cordvtn.api.net.SubnetId;
 import org.openstack4j.core.transport.ObjectMapperSingleton;
 import org.openstack4j.model.network.Subnet;
 import org.openstack4j.openstack.networking.domain.NeutronSubnet;
diff --git a/src/main/java/org/opencord/cordvtn/rest/ServiceDependencyWebResource.java b/src/main/java/org/opencord/cordvtn/rest/ServiceDependencyWebResource.java
index c194174..be4a94b 100644
--- a/src/main/java/org/opencord/cordvtn/rest/ServiceDependencyWebResource.java
+++ b/src/main/java/org/opencord/cordvtn/rest/ServiceDependencyWebResource.java
@@ -16,9 +16,9 @@
 package org.opencord.cordvtn.rest;
 
 import org.onosproject.rest.AbstractWebResource;
-import org.opencord.cordvtn.api.Dependency.Type;
-import org.opencord.cordvtn.api.DependencyService;
-import org.opencord.cordvtn.api.NetworkId;
+import org.opencord.cordvtn.api.dependency.Dependency.Type;
+import org.opencord.cordvtn.api.dependency.DependencyService;
+import org.opencord.cordvtn.api.net.NetworkId;
 
 import javax.ws.rs.DELETE;
 import javax.ws.rs.POST;
@@ -29,8 +29,8 @@
 import javax.ws.rs.core.Response;
 import java.util.Objects;
 
-import static org.opencord.cordvtn.api.Dependency.Type.BIDIRECTIONAL;
-import static org.opencord.cordvtn.api.Dependency.Type.UNIDIRECTIONAL;
+import static org.opencord.cordvtn.api.dependency.Dependency.Type.BIDIRECTIONAL;
+import static org.opencord.cordvtn.api.dependency.Dependency.Type.UNIDIRECTIONAL;
 
 /**
  * Manages service dependency.
diff --git a/src/main/java/org/opencord/cordvtn/rest/ServiceNetworkWebResource.java b/src/main/java/org/opencord/cordvtn/rest/ServiceNetworkWebResource.java
index 765a7aa..6a468a6 100644
--- a/src/main/java/org/opencord/cordvtn/rest/ServiceNetworkWebResource.java
+++ b/src/main/java/org/opencord/cordvtn/rest/ServiceNetworkWebResource.java
@@ -19,9 +19,9 @@
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import org.onlab.osgi.DefaultServiceDirectory;
 import org.onosproject.rest.AbstractWebResource;
-import org.opencord.cordvtn.api.CordVtnAdminService;
-import org.opencord.cordvtn.api.NetworkId;
-import org.opencord.cordvtn.api.ServiceNetwork;
+import org.opencord.cordvtn.api.core.CordVtnAdminService;
+import org.opencord.cordvtn.api.net.NetworkId;
+import org.opencord.cordvtn.api.net.ServiceNetwork;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/src/main/java/org/opencord/cordvtn/rest/ServicePortWebResource.java b/src/main/java/org/opencord/cordvtn/rest/ServicePortWebResource.java
index 67df9a2..b3a0580 100644
--- a/src/main/java/org/opencord/cordvtn/rest/ServicePortWebResource.java
+++ b/src/main/java/org/opencord/cordvtn/rest/ServicePortWebResource.java
@@ -19,9 +19,9 @@
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import org.onlab.osgi.DefaultServiceDirectory;
 import org.onosproject.rest.AbstractWebResource;
-import org.opencord.cordvtn.api.CordVtnAdminService;
-import org.opencord.cordvtn.api.PortId;
-import org.opencord.cordvtn.api.ServicePort;
+import org.opencord.cordvtn.api.core.CordVtnAdminService;
+import org.opencord.cordvtn.api.net.PortId;
+import org.opencord.cordvtn.api.net.ServicePort;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
