diff --git a/apps/openstackswitching/api/src/main/java/org/onosproject/openstackswitching/package-info.java b/apps/openstackswitching/api/src/main/java/org/onosproject/openstackswitching/package-info.java
index cd50f91..ff21937 100644
--- a/apps/openstackswitching/api/src/main/java/org/onosproject/openstackswitching/package-info.java
+++ b/apps/openstackswitching/api/src/main/java/org/onosproject/openstackswitching/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2015 Open Networking Laboratory
+ * Copyright 2015-2016 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 @@
  */
 
 /**
- * OpenStack switch interface.
+ * OpenStack switch API.
  */
 package org.onosproject.openstackswitching;
diff --git a/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackArpHandler.java b/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackArpHandler.java
similarity index 97%
rename from apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackArpHandler.java
rename to apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackArpHandler.java
index b0a4c43..3bbe98b 100644
--- a/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackArpHandler.java
+++ b/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackArpHandler.java
@@ -13,7 +13,7 @@
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-package org.onosproject.openstackswitching;
+package org.onosproject.openstackswitching.impl;
 
 import org.onlab.packet.ARP;
 import org.onlab.packet.Ethernet;
@@ -27,6 +27,7 @@
 import org.onosproject.net.packet.DefaultOutboundPacket;
 import org.onosproject.net.packet.InboundPacket;
 import org.onosproject.net.packet.PacketService;
+import org.onosproject.openstackswitching.OpenstackPort;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import java.nio.ByteBuffer;
diff --git a/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackPortInfo.java b/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackPortInfo.java
similarity index 97%
rename from apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackPortInfo.java
rename to apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackPortInfo.java
index 4a7605f..5a23800 100644
--- a/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackPortInfo.java
+++ b/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackPortInfo.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.openstackswitching;
+package org.onosproject.openstackswitching.impl;
 
 import org.onlab.packet.Ip4Address;
 import org.onosproject.net.DeviceId;
diff --git a/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackRestHandler.java b/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackRestHandler.java
similarity index 96%
rename from apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackRestHandler.java
rename to apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackRestHandler.java
index 842e9fe..65014d1 100644
--- a/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackRestHandler.java
+++ b/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackRestHandler.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.openstackswitching;
+package org.onosproject.openstackswitching.impl;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ArrayNode;
@@ -21,6 +21,9 @@
 import com.google.common.collect.Lists;
 import com.sun.jersey.api.client.Client;
 import com.sun.jersey.api.client.WebResource;
+import org.onosproject.openstackswitching.OpenstackNetwork;
+import org.onosproject.openstackswitching.OpenstackPort;
+import org.onosproject.openstackswitching.OpenstackSubnet;
 import org.onosproject.openstackswitching.web.OpenstackNetworkCodec;
 import org.onosproject.openstackswitching.web.OpenstackPortCodec;
 import org.onosproject.openstackswitching.web.OpenstackSubnetCodec;
diff --git a/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackSwitchingConfig.java b/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackSwitchingConfig.java
similarity index 98%
rename from apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackSwitchingConfig.java
rename to apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackSwitchingConfig.java
index ba39ff6..eec14f5 100644
--- a/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackSwitchingConfig.java
+++ b/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackSwitchingConfig.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.openstackswitching;
+package org.onosproject.openstackswitching.impl;
 
 import org.onosproject.core.ApplicationId;
 import org.onosproject.net.config.Config;
diff --git a/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackSwitchingManager.java b/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackSwitchingManager.java
similarity index 98%
rename from apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackSwitchingManager.java
rename to apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackSwitchingManager.java
index be1a9eb..96da749 100644
--- a/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackSwitchingManager.java
+++ b/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackSwitchingManager.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.onosproject.openstackswitching;
+package org.onosproject.openstackswitching.impl;
 
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Lists;
@@ -50,6 +50,10 @@
 import org.onosproject.net.packet.PacketContext;
 import org.onosproject.net.packet.PacketProcessor;
 import org.onosproject.net.packet.PacketService;
+import org.onosproject.openstackswitching.OpenstackNetwork;
+import org.onosproject.openstackswitching.OpenstackPort;
+import org.onosproject.openstackswitching.OpenstackSubnet;
+import org.onosproject.openstackswitching.OpenstackSwitchingService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import java.util.List;
diff --git a/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackSwitchingRulePopulator.java b/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackSwitchingRulePopulator.java
similarity index 98%
rename from apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackSwitchingRulePopulator.java
rename to apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackSwitchingRulePopulator.java
index 92c2742..119e0ff 100644
--- a/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/OpenstackSwitchingRulePopulator.java
+++ b/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/OpenstackSwitchingRulePopulator.java
@@ -14,7 +14,7 @@
 * limitations under the License.
 */
 
-package org.onosproject.openstackswitching;
+package org.onosproject.openstackswitching.impl;
 
 import org.onlab.packet.Ethernet;
 import org.onlab.packet.Ip4Address;
@@ -40,6 +40,8 @@
 import org.onosproject.net.flowobjective.DefaultForwardingObjective;
 import org.onosproject.net.flowobjective.FlowObjectiveService;
 import org.onosproject.net.flowobjective.ForwardingObjective;
+import org.onosproject.openstackswitching.OpenstackNetwork;
+import org.onosproject.openstackswitching.OpenstackPort;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/package-info.java b/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/package-info.java
similarity index 80%
rename from apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/package-info.java
rename to apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/package-info.java
index cd50f91..77a322d 100644
--- a/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/package-info.java
+++ b/apps/openstackswitching/app/src/main/java/org/onosproject/openstackswitching/impl/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2015 Open Networking Laboratory
+ * Copyright 2015-2016 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 @@
  */
 
 /**
- * OpenStack switch interface.
+ * OpenStack switch implementation.
  */
-package org.onosproject.openstackswitching;
+package org.onosproject.openstackswitching.impl;
diff --git a/core/api/src/main/java/org/onosproject/event/ListenerTracker.java b/core/api/src/main/java/org/onosproject/event/ListenerTracker.java
index aa42460..5ce6af5 100644
--- a/core/api/src/main/java/org/onosproject/event/ListenerTracker.java
+++ b/core/api/src/main/java/org/onosproject/event/ListenerTracker.java
@@ -30,7 +30,6 @@
  * <p>
  * Usage Example:
  * <pre>
- * <code>
     private ListenerTracker listeners;
 
     {@code @Activate}
@@ -47,7 +46,6 @@
     protected void deactivate() {
         listeners.removeListeners();
     }
- * </code>
  * </pre>
  */
 @Beta
@@ -60,6 +58,8 @@
     /**
      * Adds {@link EventListener} to specified {@link ListenerService}.
      *
+     * @param <E> event
+     * @param <L> listener
      * @param service {@link ListenerService}
      * @param listener {@link EventListener}
      * @return self
diff --git a/utils/misc/src/main/java/org/onlab/util/GuavaCollectors.java b/utils/misc/src/main/java/org/onlab/util/GuavaCollectors.java
index 1406443..40043e4 100644
--- a/utils/misc/src/main/java/org/onlab/util/GuavaCollectors.java
+++ b/utils/misc/src/main/java/org/onlab/util/GuavaCollectors.java
@@ -31,6 +31,7 @@
      * Returns a {@code Collector} that accumulates the input elements into a
      * new ImmutableSet.
      *
+     * @param <T> type
      * @return a {@code Collector} which collects all the input elements into a
      * {@code ImmutableSet}
      */
@@ -46,6 +47,7 @@
      * Returns a {@code Collector} that accumulates the input elements into a
      * new ImmutableList.
      *
+     * @param <T> type
      * @return a {@code Collector} which collects all the input elements into a
      * {@code ImmutableList}, in encounter order
      */
diff --git a/utils/misc/src/main/java/org/onlab/util/UnmodifiableDeque.java b/utils/misc/src/main/java/org/onlab/util/UnmodifiableDeque.java
index c3bdb8a..103711f 100644
--- a/utils/misc/src/main/java/org/onlab/util/UnmodifiableDeque.java
+++ b/utils/misc/src/main/java/org/onlab/util/UnmodifiableDeque.java
@@ -40,6 +40,7 @@
     /**
      * Returns an unmodifiable view of the specified Deque.
      *
+     * @param <T> type
      * @param deque underlying {@link Deque} to use.
      * @return unmodifiable view of {@code deque}
      */
