diff --git a/config-models/aether-1.x/files/yang/access-profile.yang b/config-models/aether-1.x/files/yang/access-profile.yang
index 29e10a1..cad01fc 100755
--- a/config-models/aether-1.x/files/yang/access-profile.yang
+++ b/config-models/aether-1.x/files/yang/access-profile.yang
@@ -18,12 +18,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef access-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for access-profile-id";
   }
 
   container access-profile {
@@ -45,7 +46,7 @@
         }
         description "type of profile";
       }
-  
+
       leaf filter {
         type string {
           length 0..32;
@@ -60,5 +61,5 @@
         description "description of this profile";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-1.x/files/yang/aether-subscriber.yang b/config-models/aether-1.x/files/yang/aether-subscriber.yang
index 963217f..d4e3fbd 100644
--- a/config-models/aether-1.x/files/yang/aether-subscriber.yang
+++ b/config-models/aether-1.x/files/yang/aether-subscriber.yang
@@ -31,24 +31,28 @@
       type string {
           length 1..31;
       }
+    description "The typedef for ueid";
   }
 
   typedef mcc {
       type uint32 {
         range 0..999;
       }
+    description "The typedef for mcc";
   }
 
   typedef mnc {
       type uint32 {
         range 0..999;
       }
+    description "The typedef for mnc";
   }
 
   typedef tac {
       type uint32 {
         range 0..99999999;
       }
+    description "The typedef for tac";
   }
 
   container subscriber {
@@ -60,8 +64,8 @@
         "List of subscriber devices";
 
       leaf ueid {
+	type ueid;
         description "identifier for this subscriber, may or may not be an IMSI";
-        type ueid;
       }
 
       container serving-plmn {
@@ -77,6 +81,7 @@
           type tac;
           description "type allocation code";
         }
+	description "The contaiber for serving-plmn";
       }
 
       leaf requested-apn {
@@ -113,14 +118,14 @@
         leaf up-profile {
           type leafref {
             path "/up:up-profile/up:up-profile/up:id";
-          }          
+          }
           description
             "Link to user plane profile";
         }
         leaf qos-profile {
           type leafref {
             path "/qos:qos-profile/qos:qos-profile/qos:id";
-          }              
+          }
           description
             "Link to qos profile";
         }
@@ -129,7 +134,7 @@
           leaf access-profile {
             type leafref {
               path "/ap:access-profile/ap:access-profile/ap:id";
-            }            
+            }
 //            type ap:access-profile-id;
             description
                 "Link to access profile";
@@ -140,8 +145,10 @@
             description
               "Allow or disallow this ue to use this access profile";
           }
+          description "The list for access-profile";
         }
+        description "The container for profiles";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-1.x/files/yang/apn-profile.yang b/config-models/aether-1.x/files/yang/apn-profile.yang
index 20e1763..b6f1cf5 100755
--- a/config-models/aether-1.x/files/yang/apn-profile.yang
+++ b/config-models/aether-1.x/files/yang/apn-profile.yang
@@ -20,12 +20,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef apn-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for apn-profile-id";
   }
 
   container apn-profile {
@@ -78,7 +79,7 @@
           length 1..100;
         }
         description "description of this profile";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-1.x/files/yang/ietf-inet-types.yang b/config-models/aether-1.x/files/yang/ietf-inet-types.yang
index eacefb6..fa57f75 100644
--- a/config-models/aether-1.x/files/yang/ietf-inet-types.yang
+++ b/config-models/aether-1.x/files/yang/ietf-inet-types.yang
@@ -354,11 +354,11 @@
 
   typedef domain-name {
     type string {
+      length "1..253";
       pattern
         '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*'
       + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)'
       + '|\.';
-      length "1..253";
     }
     description
      "The domain-name type represents a DNS domain name.  The
diff --git a/config-models/aether-1.x/files/yang/qos-profile.yang b/config-models/aether-1.x/files/yang/qos-profile.yang
index 257f4ff..c0d8025 100755
--- a/config-models/aether-1.x/files/yang/qos-profile.yang
+++ b/config-models/aether-1.x/files/yang/qos-profile.yang
@@ -18,12 +18,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef qos-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for qos-profile-id";
   }
 
   container qos-profile {
@@ -44,8 +45,8 @@
           type uint32 {
             range 0..4294967295;
           }
+	  units bps;
           default 0;
-          units bps;
           description
             "Upstream aggregate maximum bit rate";
         }
@@ -53,13 +54,14 @@
           type uint32 {
             range 0..4294967295;
           }
-          default 0;
           units bps;
+          default 0;
           description
             "Downstream aggregate maximum bit rate";
-        }        
+        }
+        description "The container for apn-ambr";
       }
-      
+
       leaf description {
         type string {
           length 1..100;
@@ -67,5 +69,5 @@
         description "description of this profile";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-1.x/files/yang/up-profile.yang b/config-models/aether-1.x/files/yang/up-profile.yang
index 6a43bf4..9fac55c 100755
--- a/config-models/aether-1.x/files/yang/up-profile.yang
+++ b/config-models/aether-1.x/files/yang/up-profile.yang
@@ -18,12 +18,13 @@
   }
 
   // TODO: Think more on whether this should be a UUID or
-  // simply a unique name. If it's a UUID, could fix the 
+  // simply a unique name. If it's a UUID, could fix the
   // string length.
   typedef up-profile-id {
         type string {
             length 1..32;
         }
+    description "The typedef for up-profile-id";
   }
 
   container up-profile {
@@ -58,7 +59,7 @@
           length 1..100;
         }
         description "description of this profile";
-      }      
+      }
     }
-  } 
+  }
 }
