diff --git a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/NodeConnectionManager.java b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/NodeConnectionManager.java
index 0b7029e..908aff2 100644
--- a/apps/cordvtn/src/main/java/org/onosproject/cordvtn/NodeConnectionManager.java
+++ b/apps/cordvtn/src/main/java/org/onosproject/cordvtn/NodeConnectionManager.java
@@ -48,9 +48,11 @@
     /**
      * Creates a new NodeConnectionManager.
      *
-     * @param localId local id
-     * @param nodeStore node store
+     * @param appId             app id
+     * @param localId           local id
+     * @param nodeStore         node store
      * @param mastershipService mastership service
+     * @param leadershipService leadership service
      */
     public NodeConnectionManager(ApplicationId appId, NodeId localId,
                                  EventuallyConsistentMap<DeviceId, OvsdbNode> nodeStore,
@@ -68,11 +70,11 @@
      */
     public void start() {
         connectionExecutor = Executors.newSingleThreadScheduledExecutor(
-                        groupedThreads("onos/cordvtn", "connection-executor"));
+                groupedThreads("onos/cordvtn", "connection-executor"));
         connectionExecutor.scheduleWithFixedDelay(() -> nodeStore.values()
                 .stream()
                 .filter(node -> localId.equals(getMaster(node)))
-                .forEach(node -> connectNode(node)), 0, DELAY_SEC, TimeUnit.SECONDS);
+                .forEach(this::connectNode), 0, DELAY_SEC, TimeUnit.SECONDS);
     }
 
     /**
diff --git a/core/net/src/main/java/org/onosproject/net/host/impl/HostMonitor.java b/core/net/src/main/java/org/onosproject/net/host/impl/HostMonitor.java
index 44f8cbf..4dc93a5 100644
--- a/core/net/src/main/java/org/onosproject/net/host/impl/HostMonitor.java
+++ b/core/net/src/main/java/org/onosproject/net/host/impl/HostMonitor.java
@@ -84,6 +84,7 @@
      * @param hostManager host manager used to look up host information and
      * probe existing hosts
      * @param interfaceService interface service for interface information
+     * @param edgePortService  edge port service
      */
     public HostMonitor(PacketService packetService, HostManager hostManager,
                        InterfaceService interfaceService,
diff --git a/docs/internal-apps b/docs/internal-apps
index 8c4a493..a5761f1 100644
--- a/docs/internal-apps
+++ b/docs/internal-apps
@@ -25,3 +25,4 @@
 org.onosproject.xosintegration*
 org.onosproject.cip*
 org.onosproject.vtn*
+org.onosproject.cord*
