diff --git a/src/main/java/org/onosproject/cordvtn/ConnectionHandler.java b/src/main/java/org/onosproject/cordvtn/api/ConnectionHandler.java
similarity index 96%
rename from src/main/java/org/onosproject/cordvtn/ConnectionHandler.java
rename to src/main/java/org/onosproject/cordvtn/api/ConnectionHandler.java
index 8a223a9..5676221 100644
--- a/src/main/java/org/onosproject/cordvtn/ConnectionHandler.java
+++ b/src/main/java/org/onosproject/cordvtn/api/ConnectionHandler.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.cordvtn;
+package org.onosproject.cordvtn.api;
 
 /**
  * Entity capable of handling a subject connected and disconnected situation.
diff --git a/src/main/java/org/onosproject/cordvtn/CordService.java b/src/main/java/org/onosproject/cordvtn/api/CordService.java
similarity index 98%
rename from src/main/java/org/onosproject/cordvtn/CordService.java
rename to src/main/java/org/onosproject/cordvtn/api/CordService.java
index 5710e6d..b6fa9b0 100644
--- a/src/main/java/org/onosproject/cordvtn/CordService.java
+++ b/src/main/java/org/onosproject/cordvtn/api/CordService.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.cordvtn;
+package org.onosproject.cordvtn.api;
 
 import com.google.common.base.MoreObjects;
 import org.onlab.packet.IpAddress;
@@ -30,7 +30,7 @@
 
 public final class CordService {
 
-    enum ServiceType {
+    public enum ServiceType {
         PRIVATE,
         PUBLIC,
         MANAGEMENT
diff --git a/src/main/java/org/onosproject/cordvtn/CordServiceId.java b/src/main/java/org/onosproject/cordvtn/api/CordServiceId.java
similarity index 96%
rename from src/main/java/org/onosproject/cordvtn/CordServiceId.java
rename to src/main/java/org/onosproject/cordvtn/api/CordServiceId.java
index 5aa81dd..b8a22a2 100644
--- a/src/main/java/org/onosproject/cordvtn/CordServiceId.java
+++ b/src/main/java/org/onosproject/cordvtn/api/CordServiceId.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.cordvtn;
+package org.onosproject.cordvtn.api;
 
 import org.onlab.util.Identifier;
 
diff --git a/src/main/java/org/onosproject/cordvtn/CordVtnConfig.java b/src/main/java/org/onosproject/cordvtn/api/CordVtnConfig.java
similarity index 99%
rename from src/main/java/org/onosproject/cordvtn/CordVtnConfig.java
rename to src/main/java/org/onosproject/cordvtn/api/CordVtnConfig.java
index aa50831..008012e 100644
--- a/src/main/java/org/onosproject/cordvtn/CordVtnConfig.java
+++ b/src/main/java/org/onosproject/cordvtn/api/CordVtnConfig.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.cordvtn;
+package org.onosproject.cordvtn.api;
 
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.collect.Maps;
diff --git a/src/main/java/org/onosproject/cordvtn/CordVtnNode.java b/src/main/java/org/onosproject/cordvtn/api/CordVtnNode.java
similarity index 99%
rename from src/main/java/org/onosproject/cordvtn/CordVtnNode.java
rename to src/main/java/org/onosproject/cordvtn/api/CordVtnNode.java
index 7f0809e..c63a9e4 100644
--- a/src/main/java/org/onosproject/cordvtn/CordVtnNode.java
+++ b/src/main/java/org/onosproject/cordvtn/api/CordVtnNode.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.cordvtn;
+package org.onosproject.cordvtn.api;
 
 import com.google.common.base.MoreObjects;
 import org.onlab.packet.TpPort;
diff --git a/src/main/java/org/onosproject/cordvtn/CordVtnNodeState.java b/src/main/java/org/onosproject/cordvtn/api/CordVtnNodeState.java
similarity index 95%
rename from src/main/java/org/onosproject/cordvtn/CordVtnNodeState.java
rename to src/main/java/org/onosproject/cordvtn/api/CordVtnNodeState.java
index 0480a9c..1121390 100644
--- a/src/main/java/org/onosproject/cordvtn/CordVtnNodeState.java
+++ b/src/main/java/org/onosproject/cordvtn/api/CordVtnNodeState.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.cordvtn;
+package org.onosproject.cordvtn.api;
 
 /**
  * Entity that defines possible init state of the cordvtn node.
diff --git a/src/main/java/org/onosproject/cordvtn/CordVtnService.java b/src/main/java/org/onosproject/cordvtn/api/CordVtnService.java
similarity index 98%
rename from src/main/java/org/onosproject/cordvtn/CordVtnService.java
rename to src/main/java/org/onosproject/cordvtn/api/CordVtnService.java
index 22830e4..5950670 100644
--- a/src/main/java/org/onosproject/cordvtn/CordVtnService.java
+++ b/src/main/java/org/onosproject/cordvtn/api/CordVtnService.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.cordvtn;
+package org.onosproject.cordvtn.api;
 
 import org.onlab.packet.IpAddress;
 import org.onlab.packet.MacAddress;
diff --git a/src/main/java/org/onosproject/cordvtn/NetworkAddress.java b/src/main/java/org/onosproject/cordvtn/api/NetworkAddress.java
similarity index 98%
rename from src/main/java/org/onosproject/cordvtn/NetworkAddress.java
rename to src/main/java/org/onosproject/cordvtn/api/NetworkAddress.java
index e245242..23c7318 100644
--- a/src/main/java/org/onosproject/cordvtn/NetworkAddress.java
+++ b/src/main/java/org/onosproject/cordvtn/api/NetworkAddress.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.cordvtn;
+package org.onosproject.cordvtn.api;
 
 import com.google.common.base.MoreObjects;
 import org.onlab.packet.IpAddress;
diff --git a/src/main/java/org/onosproject/cordvtn/SshAccessInfo.java b/src/main/java/org/onosproject/cordvtn/api/SshAccessInfo.java
similarity index 98%
rename from src/main/java/org/onosproject/cordvtn/SshAccessInfo.java
rename to src/main/java/org/onosproject/cordvtn/api/SshAccessInfo.java
index 7949898..7679348 100644
--- a/src/main/java/org/onosproject/cordvtn/SshAccessInfo.java
+++ b/src/main/java/org/onosproject/cordvtn/api/SshAccessInfo.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.cordvtn;
+package org.onosproject.cordvtn.api;
 
 import com.google.common.base.MoreObjects;
 import org.onlab.packet.Ip4Address;
diff --git a/src/main/java/org/onosproject/cordvtn/package-info.java b/src/main/java/org/onosproject/cordvtn/api/package-info.java
similarity index 80%
copy from src/main/java/org/onosproject/cordvtn/package-info.java
copy to src/main/java/org/onosproject/cordvtn/api/package-info.java
index de8816e..7d41963 100644
--- a/src/main/java/org/onosproject/cordvtn/package-info.java
+++ b/src/main/java/org/onosproject/cordvtn/api/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2015-present Open Networking Laboratory
+ * Copyright 2016-present Open Networking Laboratory
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,6 +15,6 @@
  */
 
 /**
- * Application for provisioning virtual tenant networks.
+ * API for CORD VTN application.
  */
-package org.onosproject.cordvtn;
\ No newline at end of file
+package org.onosproject.cordvtn.api;
\ No newline at end of file
diff --git a/src/main/java/org/onosproject/cordvtn/cli/CordVtnFlushRules.java b/src/main/java/org/onosproject/cordvtn/cli/CordVtnFlushRules.java
index 926461f..f428ea4 100644
--- a/src/main/java/org/onosproject/cordvtn/cli/CordVtnFlushRules.java
+++ b/src/main/java/org/onosproject/cordvtn/cli/CordVtnFlushRules.java
@@ -18,7 +18,7 @@
 
 import org.apache.karaf.shell.commands.Command;
 import org.onosproject.cli.AbstractShellCommand;
-import org.onosproject.cordvtn.CordVtnNodeManager;
+import org.onosproject.cordvtn.impl.CordVtnNodeManager;
 
 /**
  * Deletes nodes from the service.
diff --git a/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeCheckCommand.java b/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeCheckCommand.java
index 998738c..d6224fb 100644
--- a/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeCheckCommand.java
+++ b/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeCheckCommand.java
@@ -19,8 +19,8 @@
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
 import org.onosproject.cli.AbstractShellCommand;
-import org.onosproject.cordvtn.CordVtnNode;
-import org.onosproject.cordvtn.CordVtnNodeManager;
+import org.onosproject.cordvtn.api.CordVtnNode;
+import org.onosproject.cordvtn.impl.CordVtnNodeManager;
 
 /**
  * Checks detailed node init state.
diff --git a/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeDeleteCommand.java b/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeDeleteCommand.java
index 0133345..c3b49e1 100644
--- a/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeDeleteCommand.java
+++ b/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeDeleteCommand.java
@@ -19,8 +19,8 @@
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
 import org.onosproject.cli.AbstractShellCommand;
-import org.onosproject.cordvtn.CordVtnNodeManager;
-import org.onosproject.cordvtn.CordVtnNode;
+import org.onosproject.cordvtn.impl.CordVtnNodeManager;
+import org.onosproject.cordvtn.api.CordVtnNode;
 
 import java.util.NoSuchElementException;
 
diff --git a/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeInitCommand.java b/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeInitCommand.java
index 1756e1f..b47ec7d 100644
--- a/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeInitCommand.java
+++ b/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeInitCommand.java
@@ -19,8 +19,8 @@
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
 import org.onosproject.cli.AbstractShellCommand;
-import org.onosproject.cordvtn.CordVtnNodeManager;
-import org.onosproject.cordvtn.CordVtnNode;
+import org.onosproject.cordvtn.impl.CordVtnNodeManager;
+import org.onosproject.cordvtn.api.CordVtnNode;
 
 import java.util.NoSuchElementException;
 
diff --git a/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeListCommand.java b/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeListCommand.java
index f8b15e2..a6e4039 100644
--- a/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeListCommand.java
+++ b/src/main/java/org/onosproject/cordvtn/cli/CordVtnNodeListCommand.java
@@ -21,8 +21,8 @@
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import org.apache.karaf.shell.commands.Command;
 import org.onosproject.cli.AbstractShellCommand;
-import org.onosproject.cordvtn.CordVtnNodeManager;
-import org.onosproject.cordvtn.CordVtnNode;
+import org.onosproject.cordvtn.impl.CordVtnNodeManager;
+import org.onosproject.cordvtn.api.CordVtnNode;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/src/main/java/org/onosproject/cordvtn/CordVtn.java b/src/main/java/org/onosproject/cordvtn/impl/CordVtn.java
similarity index 98%
rename from src/main/java/org/onosproject/cordvtn/CordVtn.java
rename to src/main/java/org/onosproject/cordvtn/impl/CordVtn.java
index 6a96c7b..967ca02 100644
--- a/src/main/java/org/onosproject/cordvtn/CordVtn.java
+++ b/src/main/java/org/onosproject/cordvtn/impl/CordVtn.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.cordvtn;
+package org.onosproject.cordvtn.impl;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
@@ -29,6 +29,11 @@
 import org.onlab.packet.IpAddress;
 import org.onlab.packet.MacAddress;
 import org.onlab.packet.VlanId;
+import org.onosproject.cordvtn.api.CordService;
+import org.onosproject.cordvtn.api.CordServiceId;
+import org.onosproject.cordvtn.api.CordVtnConfig;
+import org.onosproject.cordvtn.api.CordVtnNode;
+import org.onosproject.cordvtn.api.CordVtnService;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.core.CoreService;
 import org.onosproject.dhcp.DhcpService;
@@ -719,7 +724,7 @@
                 .forEach(entry -> {
                     arpProxy.addGateway(entry.getKey(), entry.getValue());
                     log.info("Added public gateway IP {}, MAC {}",
-                              entry.getKey().toString(), entry.getValue().toString());
+                             entry.getKey().toString(), entry.getValue().toString());
                 });
         // TODO notice gateway MAC change to VMs holds this gateway IP
     }
diff --git a/src/main/java/org/onosproject/cordvtn/CordVtnArpProxy.java b/src/main/java/org/onosproject/cordvtn/impl/CordVtnArpProxy.java
similarity index 99%
rename from src/main/java/org/onosproject/cordvtn/CordVtnArpProxy.java
rename to src/main/java/org/onosproject/cordvtn/impl/CordVtnArpProxy.java
index 7dcb46d..c0b1d61 100644
--- a/src/main/java/org/onosproject/cordvtn/CordVtnArpProxy.java
+++ b/src/main/java/org/onosproject/cordvtn/impl/CordVtnArpProxy.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.cordvtn;
+package org.onosproject.cordvtn.impl;
 
 import com.google.common.collect.Maps;
 import org.onlab.packet.ARP;
diff --git a/src/main/java/org/onosproject/cordvtn/CordVtnNodeManager.java b/src/main/java/org/onosproject/cordvtn/impl/CordVtnNodeManager.java
similarity index 98%
rename from src/main/java/org/onosproject/cordvtn/CordVtnNodeManager.java
rename to src/main/java/org/onosproject/cordvtn/impl/CordVtnNodeManager.java
index 52dbeb1..bec23da 100644
--- a/src/main/java/org/onosproject/cordvtn/CordVtnNodeManager.java
+++ b/src/main/java/org/onosproject/cordvtn/impl/CordVtnNodeManager.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.cordvtn;
+package org.onosproject.cordvtn.impl;
 
 import com.google.common.collect.Sets;
 import com.jcraft.jsch.Session;
@@ -29,6 +29,13 @@
 import org.onosproject.cluster.ClusterService;
 import org.onosproject.cluster.LeadershipService;
 import org.onosproject.cluster.NodeId;
+import org.onosproject.cordvtn.api.ConnectionHandler;
+import org.onosproject.cordvtn.api.CordVtnConfig;
+import org.onosproject.cordvtn.api.CordVtnNode;
+import org.onosproject.cordvtn.api.CordVtnNodeState;
+import org.onosproject.cordvtn.api.CordVtnService;
+import org.onosproject.cordvtn.api.NetworkAddress;
+import org.onosproject.cordvtn.api.SshAccessInfo;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.core.CoreService;
 import org.onosproject.net.ConnectPoint;
diff --git a/src/main/java/org/onosproject/cordvtn/CordVtnRuleInstaller.java b/src/main/java/org/onosproject/cordvtn/impl/CordVtnRuleInstaller.java
similarity index 99%
rename from src/main/java/org/onosproject/cordvtn/CordVtnRuleInstaller.java
rename to src/main/java/org/onosproject/cordvtn/impl/CordVtnRuleInstaller.java
index 5784d93..8652e18 100644
--- a/src/main/java/org/onosproject/cordvtn/CordVtnRuleInstaller.java
+++ b/src/main/java/org/onosproject/cordvtn/impl/CordVtnRuleInstaller.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.cordvtn;
+package org.onosproject.cordvtn.impl;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
@@ -28,6 +28,10 @@
 import org.onlab.packet.TpPort;
 import org.onlab.packet.VlanId;
 import org.onlab.util.ItemNotFoundException;
+import org.onosproject.cordvtn.api.CordService;
+import org.onosproject.cordvtn.api.CordServiceId;
+import org.onosproject.cordvtn.api.CordVtnConfig;
+import org.onosproject.cordvtn.api.CordVtnNode;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.core.DefaultGroupId;
 import org.onosproject.core.GroupId;
diff --git a/src/main/java/org/onosproject/cordvtn/RemoteIpCommandUtil.java b/src/main/java/org/onosproject/cordvtn/impl/RemoteIpCommandUtil.java
similarity index 98%
rename from src/main/java/org/onosproject/cordvtn/RemoteIpCommandUtil.java
rename to src/main/java/org/onosproject/cordvtn/impl/RemoteIpCommandUtil.java
index 932ec9f..c09e3a0 100644
--- a/src/main/java/org/onosproject/cordvtn/RemoteIpCommandUtil.java
+++ b/src/main/java/org/onosproject/cordvtn/impl/RemoteIpCommandUtil.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.cordvtn;
+package org.onosproject.cordvtn.impl;
 
 import com.google.common.collect.Sets;
 import com.google.common.io.CharStreams;
@@ -23,6 +23,8 @@
 import com.jcraft.jsch.JSchException;
 import com.jcraft.jsch.Session;
 import org.onlab.packet.IpAddress;
+import org.onosproject.cordvtn.api.NetworkAddress;
+import org.onosproject.cordvtn.api.SshAccessInfo;
 import org.slf4j.Logger;
 
 import java.io.IOException;
diff --git a/src/main/java/org/onosproject/cordvtn/package-info.java b/src/main/java/org/onosproject/cordvtn/impl/package-info.java
similarity index 80%
rename from src/main/java/org/onosproject/cordvtn/package-info.java
rename to src/main/java/org/onosproject/cordvtn/impl/package-info.java
index de8816e..fcc52ff 100644
--- a/src/main/java/org/onosproject/cordvtn/package-info.java
+++ b/src/main/java/org/onosproject/cordvtn/impl/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2015-present Open Networking Laboratory
+ * Copyright 2016-present Open Networking Laboratory
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,6 +15,6 @@
  */
 
 /**
- * Application for provisioning virtual tenant networks.
+ * Implementation for CORD VTN application.
  */
-package org.onosproject.cordvtn;
\ No newline at end of file
+package org.onosproject.cordvtn.impl;
\ No newline at end of file
diff --git a/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2PortsWebResource.java b/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2PortsWebResource.java
index 2ceb13c..1d29594 100644
--- a/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2PortsWebResource.java
+++ b/src/main/java/org/onosproject/cordvtn/rest/NeutronMl2PortsWebResource.java
@@ -20,7 +20,7 @@
 import com.google.common.collect.Maps;
 import org.onlab.packet.IpAddress;
 import org.onlab.packet.MacAddress;
-import org.onosproject.cordvtn.CordVtnService;
+import org.onosproject.cordvtn.api.CordVtnService;
 import org.onosproject.net.HostId;
 import org.onosproject.rest.AbstractWebResource;
 import org.slf4j.Logger;
diff --git a/src/main/java/org/onosproject/cordvtn/rest/ServiceDependencyWebResource.java b/src/main/java/org/onosproject/cordvtn/rest/ServiceDependencyWebResource.java
index 805db46..aeebd23 100644
--- a/src/main/java/org/onosproject/cordvtn/rest/ServiceDependencyWebResource.java
+++ b/src/main/java/org/onosproject/cordvtn/rest/ServiceDependencyWebResource.java
@@ -15,8 +15,8 @@
  */
 package org.onosproject.cordvtn.rest;
 
-import org.onosproject.cordvtn.CordVtnService;
-import org.onosproject.cordvtn.CordServiceId;
+import org.onosproject.cordvtn.api.CordVtnService;
+import org.onosproject.cordvtn.api.CordServiceId;
 import org.onosproject.rest.AbstractWebResource;
 
 import javax.ws.rs.DELETE;
