diff --git a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/ProgramCounter.java b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/ProgramCounter.java
index 6af50e0..b6db8e7 100644
--- a/apps/workflow/api/src/main/java/org/onosproject/workflow/api/ProgramCounter.java
+++ b/apps/workflow/api/src/main/java/org/onosproject/workflow/api/ProgramCounter.java
@@ -62,6 +62,30 @@
         this.workletIndex = workletIndex;
     }
 
+    /**
+     * Clones this workflow Program Counter.
+     * @return clone of this workflow Program Counter
+     */
+    public ProgramCounter clone() {
+        return ProgramCounter.valueOf(this.workletType(), this.workletIndex());
+    }
+
+    /**
+     * Returns whether this program counter is INIT worklet program counter.
+     * @return whether this program counter is INIT worklet program counter
+     */
+    public boolean isInit() {
+        return Worklet.Common.INIT.tag().equals(this.workletType);
+    }
+
+    /**
+     * Returns whether this program counter is COMPLETED worklet program counter.
+     * @return whether this program counter is COMPLETED worklet program counter
+     */
+    public boolean isCompleted() {
+        return Worklet.Common.COMPLETED.tag().equals(this.workletType);
+    }
+
     @Override
     public int hashCode() {
         return Objects.hash(this.toString());
