diff --git a/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IsIsPseudonode.java b/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IsIsPseudonode.java
index 094c438..bfb13e3 100644
--- a/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IsIsPseudonode.java
+++ b/protocols/bgp/bgpio/src/main/java/org/onosproject/bgpio/types/IsIsPseudonode.java
@@ -15,19 +15,18 @@
  */
 package org.onosproject.bgpio.types;
 
+import com.google.common.base.MoreObjects;
+import org.jboss.netty.buffer.ChannelBuffer;
+import org.onosproject.bgpio.protocol.IgpRouterId;
+
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 import java.util.Objects;
 
-import org.jboss.netty.buffer.ChannelBuffer;
-import org.onosproject.bgpio.protocol.IGPRouterID;
-
-import com.google.common.base.MoreObjects;
-
 /**
  * Provides implementation of IsIsPseudonode Tlv.
  */
-public class IsIsPseudonode implements IGPRouterID, BgpValueType {
+public class IsIsPseudonode implements IgpRouterId, BgpValueType {
     public static final short TYPE = 515;
     public static final short LENGTH = 7;
 
@@ -62,7 +61,7 @@
      *
      * @return ISO NodeID
      */
-    public byte[] getISONodeID() {
+    public byte[] getIsoNodeId() {
         return isoNodeID;
     }
 
@@ -71,7 +70,7 @@
      *
      * @return PSN Identifier
      */
-    public byte getPSNIdentifier() {
+    public byte getPsnIdentifier() {
         return this.psnIdentifier;
     }
 
@@ -143,4 +142,4 @@
                 .add("psnIdentifier", psnIdentifier)
                 .toString();
     }
-}
\ No newline at end of file
+}
