diff --git a/core/net/src/main/java/org/onosproject/net/pi/impl/AbstractPiTranslatorImpl.java b/core/net/src/main/java/org/onosproject/net/pi/impl/AbstractPiTranslatorImpl.java
index 5d7178c..dc2cb01 100644
--- a/core/net/src/main/java/org/onosproject/net/pi/impl/AbstractPiTranslatorImpl.java
+++ b/core/net/src/main/java/org/onosproject/net/pi/impl/AbstractPiTranslatorImpl.java
@@ -42,17 +42,17 @@
     }
 
     @Override
-    public void learn(PiHandle<E> handle, PiTranslatedEntity<T, E> entity) {
+    public void learn(PiHandle handle, PiTranslatedEntity<T, E> entity) {
         store.addOrUpdate(handle, entity);
     }
 
     @Override
-    public Optional<PiTranslatedEntity<T, E>> lookup(PiHandle<E> handle) {
+    public Optional<PiTranslatedEntity<T, E>> lookup(PiHandle handle) {
         return Optional.ofNullable(store.get(handle));
     }
 
     @Override
-    public void forget(PiHandle<E> handle) {
+    public void forget(PiHandle handle) {
         store.remove(handle);
     }
 }
diff --git a/core/net/src/main/java/org/onosproject/net/pi/impl/PiPipeconfManager.java b/core/net/src/main/java/org/onosproject/net/pi/impl/PiPipeconfManager.java
index fa10d33..27f6e4d 100644
--- a/core/net/src/main/java/org/onosproject/net/pi/impl/PiPipeconfManager.java
+++ b/core/net/src/main/java/org/onosproject/net/pi/impl/PiPipeconfManager.java
@@ -169,6 +169,16 @@
     }
 
     @Override
+    public Optional<PiPipeconf> getPipeconf(DeviceId deviceId) {
+        if (pipeconfMappingStore.getPipeconfId(deviceId) == null) {
+            return Optional.empty();
+        } else {
+            return Optional.ofNullable(pipeconfs.get(
+                    pipeconfMappingStore.getPipeconfId(deviceId)));
+        }
+    }
+
+    @Override
     public void bindToDevice(PiPipeconfId pipeconfId, DeviceId deviceId) {
         PiPipeconfId existingPipeconfId = pipeconfMappingStore.getPipeconfId(deviceId);
         if (existingPipeconfId != null && !existingPipeconfId.equals(pipeconfId)) {
