diff --git a/apps/patchpanel/src/main/java/org/onosproject/patchpanel/cli/PatchPanelCommand.java b/apps/patchpanel/src/main/java/org/onosproject/patchpanel/cli/PatchPanelCommand.java
index bac3221..5b6221a 100644
--- a/apps/patchpanel/src/main/java/org/onosproject/patchpanel/cli/PatchPanelCommand.java
+++ b/apps/patchpanel/src/main/java/org/onosproject/patchpanel/cli/PatchPanelCommand.java
@@ -28,10 +28,11 @@
 import org.onosproject.net.DeviceId;
 import org.onosproject.patchpanel.impl.PatchPanelService;
 
-//name of command and description
+/**
+ * Command for adding a new patch.
+ */
 @Command(scope = "onos", name = "patch",
          description = "Gets the 2 ports of one ConnectPoint that will be patched")
-
 public class PatchPanelCommand extends AbstractShellCommand {
     //the 2 arguments, both connect points
     @Argument(index = 0, name = "switch/portNumber", description = "ConnectPoint and first port number",
diff --git a/apps/patchpanel/src/main/java/org/onosproject/patchpanel/cli/package-info.java b/apps/patchpanel/src/main/java/org/onosproject/patchpanel/cli/package-info.java
index 85a7842..f4e7c9e 100644
--- a/apps/patchpanel/src/main/java/org/onosproject/patchpanel/cli/package-info.java
+++ b/apps/patchpanel/src/main/java/org/onosproject/patchpanel/cli/package-info.java
@@ -15,7 +15,7 @@
  */
 
 /**
- * patch panel-related CLI commands(in cli folder).
+ * Patch panel-related CLI commands(in cli folder).
  */
 package org.onosproject.patchpanel.cli;
 
diff --git a/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/PatchPanel.java b/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/PatchPanel.java
index 068ae00..b08be7e 100644
--- a/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/PatchPanel.java
+++ b/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/PatchPanel.java
@@ -14,15 +14,6 @@
  * limitations under the License.
  */
 
-/**
- * This class acts as a software patch panel application.
- * The user specifies 2 connectpoint on the same device that he/she would like to patch.
- * Using a flow rule, the 2 connectpoints are patched.
- *
- * @author Parvahti Meyyappan
- * @version %I%, %G%
- */
-
 package org.onosproject.patchpanel.impl;
 
 import org.apache.felix.scr.annotations.Component;
@@ -31,6 +22,7 @@
 import org.apache.felix.scr.annotations.ReferenceCardinality;
 import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Deactivate;
+import org.onosproject.cli.net.ConnectPointCompleter;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.core.CoreService;
 import org.onosproject.net.PortNumber;
@@ -46,11 +38,19 @@
 import java.util.ArrayList;
 import java.util.List;
 
-
+/**
+ * This class acts as a software patch panel application.
+ * The user specifies 2 connectpoint on the same device that he/she would like to patch.
+ * Using a flow rule, the 2 connectpoints are patched.
+ */
 @Component(immediate = true)
 @Service
 public class PatchPanel implements PatchPanelService {
 
+    // OSGI: help bundle plugin discover runtime package dependency.
+    @SuppressWarnings("unused")
+    private ConnectPointCompleter connectPointCompleter;
+
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
     protected FlowRuleService flowRuleService;
 
@@ -65,12 +65,8 @@
 
     @Activate
     protected void activate() throws NullPointerException {
+        appId = coreService.registerApplication("org.onosproject.patchpanel");
         log.info("Started");
-        try {
-            appId = coreService.getAppId("org.onosproject.patchPanel");
-        } catch (NullPointerException e) {
-            throw new NullPointerException("ERROR:App Id is null");
-        }
     }
 
     @Deactivate
@@ -101,10 +97,18 @@
                 .withSelector(DefaultTrafficSelector.builder().matchInPort(inPort).build())
                 .withTreatment(DefaultTrafficTreatment.builder().setOutput(outPort).build())
                 .withPriority(PacketPriority.REACTIVE.priorityValue())
-                .makeTemporary(5)
+                .makePermanent()
                 .fromApp(appId).build();
 
-        flowRuleService.applyFlowRules(fr);
+        FlowRule fr2 = DefaultFlowRule.builder()
+                .forDevice(cp1.deviceId())
+                .withSelector(DefaultTrafficSelector.builder().matchInPort(outPort).build())
+                .withTreatment(DefaultTrafficTreatment.builder().setOutput(inPort).build())
+                .withPriority(PacketPriority.REACTIVE.priorityValue())
+                .makePermanent()
+                .fromApp(appId).build();
+
+        flowRuleService.applyFlowRules(fr, fr2);
 
     }
 
diff --git a/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/PatchPanelService.java b/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/PatchPanelService.java
index 64754c0..f37df1d 100644
--- a/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/PatchPanelService.java
+++ b/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/PatchPanelService.java
@@ -18,17 +18,15 @@
 import org.onosproject.net.ConnectPoint;
 
 /**
- * A service for the patch panel application to
- * export and use with the cli .
+ * A service for the patch panel application to export and use with the cli.
  */
 public interface PatchPanelService {
 
     /**
-     * Get the connectPoints that need to be patched.
+     * Adds a new patch between two connect points.
+     *
      * @param cp    the first connect point
      * @param cp2   the second connect point
-     * @return void
      */
-    public boolean addPatch(ConnectPoint cp, ConnectPoint cp2);
-
-}
\ No newline at end of file
+    boolean addPatch(ConnectPoint cp, ConnectPoint cp2);
+}
diff --git a/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/AppUiComponent.java b/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/PatchPanelUiComponent.java
similarity index 95%
rename from apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/AppUiComponent.java
rename to apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/PatchPanelUiComponent.java
index 8402cb1..ea2f085 100644
--- a/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/AppUiComponent.java
+++ b/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/PatchPanelUiComponent.java
@@ -34,7 +34,7 @@
  *  ONOS UI Custom-View application component for the Patch Panel Application.
  */
 @Component(immediate = true)
-public class AppUiComponent {
+public class PatchPanelUiComponent {
 
     private static final String VIEW_ID = "sampleCustom";
     private static final String VIEW_TEXT = "Patch Panel Application";
@@ -51,7 +51,7 @@
 
     // Factory for UI message handlers
     private final UiMessageHandlerFactory messageHandlerFactory =
-            () -> ImmutableList.of(new AppUiMessageHandler());
+            () -> ImmutableList.of(new PatchPanelUiMessageHandler());
 
     // Application UI extension
     protected UiExtension extension =
diff --git a/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/AppUiMessageHandler.java b/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/PatchPanelUiMessageHandler.java
similarity index 98%
rename from apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/AppUiMessageHandler.java
rename to apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/PatchPanelUiMessageHandler.java
index 431f4d0..b03bb02 100644
--- a/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/AppUiMessageHandler.java
+++ b/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/PatchPanelUiMessageHandler.java
@@ -40,7 +40,7 @@
  *  to each event. In this particular implementation the second message
  *  handler creates the patch and the first message handler loads the data
  */
-public class AppUiMessageHandler extends UiMessageHandler {
+public class PatchPanelUiMessageHandler extends UiMessageHandler {
 
     private static final String SAMPLE_CUSTOM_DATA_REQ = "sampleCustomDataRequest";
     private static final String SAMPLE_CUSTOM_DATA_RESP = "sampleCustomDataResponse";
@@ -136,4 +136,4 @@
             sendMessage(SAMPLE_CUSTOM_DATA_RESP3, sid, payload);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/package-info.java b/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/package-info.java
index 6bee0e2..7c109d2 100644
--- a/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/package-info.java
+++ b/apps/patchpanel/src/main/java/org/onosproject/patchpanel/impl/package-info.java
@@ -16,6 +16,6 @@
  */
 
 /**
- * patch panel-related CLI commands(in implementation folder).
+ * Patch panel-related CLI commands(in implementation folder).
  */
 package org.onosproject.patchpanel.impl;
