diff --git a/src/main/java/org/onosproject/yangutils/datamodel/YangUses.java b/src/main/java/org/onosproject/yangutils/datamodel/YangUses.java
index 22cbf1a..d979bea 100644
--- a/src/main/java/org/onosproject/yangutils/datamodel/YangUses.java
+++ b/src/main/java/org/onosproject/yangutils/datamodel/YangUses.java
@@ -55,17 +55,17 @@
 public class YangUses extends YangNode implements YangCommonInfo, Parsable {
 
     /**
-     * Name.
+     * Name of YANG uses.
      */
     private String name;
 
     /**
-     * referred group.
+     * Referred group.
      */
     private YangGrouping refGroup;
 
     /**
-     * description.
+     * Description of YANG uses.
      */
     private String description;
 
@@ -75,7 +75,7 @@
     private String reference;
 
     /**
-     * Status.
+     * Status of YANG uses.
      */
     private YangStatusType status;
 
@@ -87,7 +87,7 @@
     }
 
     /**
-     * Get the name.
+     * Returns the name.
      *
      * @return the name
      */
@@ -105,7 +105,7 @@
     }
 
     /**
-     * Get the referred group.
+     * Returns the referred group.
      *
      * @return the referred group
      */
@@ -123,7 +123,7 @@
     }
 
     /**
-     * Get the description.
+     * Returns the description.
      *
      * @return the description
      */
@@ -143,7 +143,7 @@
     }
 
     /**
-     * Get the textual reference.
+     * Returns the textual reference.
      *
      * @return the reference
      */
@@ -163,7 +163,7 @@
     }
 
     /**
-     * Get the status.
+     * Returns the status.
      *
      * @return the status
      */
@@ -212,26 +212,14 @@
         // TODO auto-generated method stub, to be implemented by parser
     }
 
-    /**
-     * Get uses name.
-     *
-     * @return uses name
-     */
     @Override
     public String getName() {
-        // TODO Auto-generated method stub
-        return null;
+        return name;
     }
 
-    /**
-     * Set uses name.
-     *
-     * @param name uses name
-     */
     @Override
     public void setName(String name) {
-        // TODO Auto-generated method stub
-
+        this.name = name;
     }
 
 }
