diff --git a/config-models/aether-1.x/Chart.yaml b/config-models/aether-1.x/Chart.yaml
index 40a8be0..01dadf4 100644
--- a/config-models/aether-1.x/Chart.yaml
+++ b/config-models/aether-1.x/Chart.yaml
@@ -4,7 +4,7 @@
 
 apiVersion: v2
 name: config-model-aether
-version: 1.0.4
+version: 1.0.5
 kubeVersion: ">=1.18.0"
 appVersion: 1.0.0
 description: Aether config model
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";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/Chart.yaml b/config-models/aether-2.1.x/Chart.yaml
index fb7fc19..93cfa93 100644
--- a/config-models/aether-2.1.x/Chart.yaml
+++ b/config-models/aether-2.1.x/Chart.yaml
@@ -4,7 +4,7 @@
 
 apiVersion: v2
 name: config-model-aether-2
-version: 2.1.4
+version: 2.1.5
 kubeVersion: ">=1.18.0"
 appVersion: 2.1.0
 description: Aether config model
diff --git a/config-models/aether-2.1.x/files/yang/access-profile.yang b/config-models/aether-2.1.x/files/yang/access-profile.yang
index d58a674..080ab14 100755
--- a/config-models/aether-2.1.x/files/yang/access-profile.yang
+++ b/config-models/aether-2.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 {
@@ -44,7 +45,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf type {
         type string {
@@ -52,7 +53,7 @@
         }
         description "type of profile";
       }
-  
+
       leaf filter {
         type string {
           length 0..32;
@@ -67,5 +68,5 @@
         description "description of this profile";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/aether-subscriber.yang b/config-models/aether-2.1.x/files/yang/aether-subscriber.yang
index 30f3e52..a3e7220 100755
--- a/config-models/aether-2.1.x/files/yang/aether-subscriber.yang
+++ b/config-models/aether-2.1.x/files/yang/aether-subscriber.yang
@@ -11,7 +11,7 @@
   import up-profile{ prefix up; }
   import access-profile{ prefix ap; }
   import security-profile{ prefix sec; }
-  import enterprise{ prefix ent; }  
+  import enterprise{ prefix ent; }
   import ietf-yang-types{ prefix ietf; }
 
   organization "Open Networking Foundation.";
@@ -29,18 +29,21 @@
       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 {
@@ -52,8 +55,8 @@
         "List of subscriber devices";
 
       leaf id {
+	type ietf:uuid;
         description "identifier for this subscriber, typically a UUID";
-        type ietf:uuid;
       }
 
       leaf display-name {
@@ -61,7 +64,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }      
+      }
 
       choice imsi {
         case wildcard {
@@ -69,16 +72,20 @@
             type string {
               length 1..15;
             }
+            description "leaf for imsi-wildcard";
           }
         }
         case range {
           leaf imsi-range-from {
             type uint64;
+            description "leaf for imsi-range-from";
           }
           leaf imsi-range-to {
             type uint64;
+            description "leaf for imsi-range-to";
           }
         }
+        description "The choice for imsi";
       }
 
       container serving-plmn {
@@ -94,6 +101,7 @@
           type tac;
           description "type allocation code";
         }
+        description "The container for serving-plmn";
       }
 
       leaf requested-apn {
@@ -122,7 +130,7 @@
       leaf enterprise {
         type leafref {
           path "/ent:enterprise/ent:enterprise/ent:id";
-        }              
+        }
         description
           "Link to enterprise that owns this UE range";
       }
@@ -138,14 +146,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";
         }
@@ -154,7 +162,7 @@
           leaf access-profile {
             type leafref {
               path "/ap:access-profile/ap:access-profile/ap:id";
-            }            
+            }
             description
                 "Link to access profile";
           }
@@ -164,15 +172,17 @@
             description
               "Allow or disallow this ue to use this access profile";
           }
+	  description "The list for access-profile";
         }
         leaf security-profile {
           type leafref {
             path "/sec:security-profile/sec:security-profile/sec:id";
-          }              
+          }
           description
             "Link to security profile";
         }
+        description "The container for profiles";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/apn-profile.yang b/config-models/aether-2.1.x/files/yang/apn-profile.yang
index 27361dc..8445cc8 100755
--- a/config-models/aether-2.1.x/files/yang/apn-profile.yang
+++ b/config-models/aether-2.1.x/files/yang/apn-profile.yang
@@ -21,12 +21,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 {
@@ -47,7 +48,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf apn-name {
         type string {
@@ -96,5 +97,5 @@
           "Link to service group";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/connectivity-service.yang b/config-models/aether-2.1.x/files/yang/connectivity-service.yang
index f12340b..139a93f 100755
--- a/config-models/aether-2.1.x/files/yang/connectivity-service.yang
+++ b/config-models/aether-2.1.x/files/yang/connectivity-service.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for connectivity-service-id";
   }
 
   container connectivity-service {
@@ -43,7 +44,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type string {
@@ -65,7 +66,7 @@
       leaf pcrf-endpoint {
         type inet:uri;
         description "url of the pcrf service";
-      }         
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/enterprise.yang b/config-models/aether-2.1.x/files/yang/enterprise.yang
index 38cb4b8..25dd051 100755
--- a/config-models/aether-2.1.x/files/yang/enterprise.yang
+++ b/config-models/aether-2.1.x/files/yang/enterprise.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for enterprise-id";
   }
 
   container enterprise {
@@ -43,7 +44,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type string {
@@ -57,7 +58,7 @@
         leaf connectivity-service {
           type leafref {
             path "/cs:connectivity-service/cs:connectivity-service/cs:id";
-          }            
+          }
           description
             "Link to connectivity services where configuration should be pushed for this enterprise's devices";
         }
@@ -67,7 +68,8 @@
           description
             "Allow or disallow pushes to this connectivity service";
         }
-      }              
+	description "The list for connectivity-service";
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/ietf-inet-types.yang b/config-models/aether-2.1.x/files/yang/ietf-inet-types.yang
index eacefb6..fa57f75 100644
--- a/config-models/aether-2.1.x/files/yang/ietf-inet-types.yang
+++ b/config-models/aether-2.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-2.1.x/files/yang/qos-profile.yang b/config-models/aether-2.1.x/files/yang/qos-profile.yang
index 5ad91b4..a150263 100755
--- a/config-models/aether-2.1.x/files/yang/qos-profile.yang
+++ b/config-models/aether-2.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,15 +45,15 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       container apn-ambr {
         leaf uplink {
           type uint32 {
             range 0..4294967295;
           }
+	  units bps;
           default 0;
-          units bps;
           description
             "Upstream aggregate maximum bit rate";
         }
@@ -60,11 +61,12 @@
           type uint32 {
             range 0..4294967295;
           }
-          default 0;
           units bps;
+          default 0;
           description
             "Downstream aggregate maximum bit rate";
-        }        
+        }
+        description "The container for apn-ambr";
       }
 
       leaf qci {
@@ -80,11 +82,11 @@
         leaf priority {
           type uint32 {
             range 0..15;
-          }          
+          }
           default 0;
           description
             "Priority";
-        }        
+        }
         leaf preemption-capability {
           type boolean;
           default true;
@@ -98,8 +100,8 @@
             "This bearer may be dropped for a bearer with higher priority";
         }
         description "Evolved-ARP";
-      }        
-      
+      }
+
       leaf description {
         type string {
           length 1..100;
@@ -107,5 +109,5 @@
         description "description of this profile";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/security-profile.yang b/config-models/aether-2.1.x/files/yang/security-profile.yang
index a8a3069..00413b1 100755
--- a/config-models/aether-2.1.x/files/yang/security-profile.yang
+++ b/config-models/aether-2.1.x/files/yang/security-profile.yang
@@ -21,6 +21,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for security-profile-id";
   }
 
   container security-profile {
@@ -41,7 +42,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf key {
         type string {
@@ -67,7 +68,7 @@
           length 1..100;
         }
         description "description of this security profile";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/service-group.yang b/config-models/aether-2.1.x/files/yang/service-group.yang
index 9f2e7da..8b4add1 100755
--- a/config-models/aether-2.1.x/files/yang/service-group.yang
+++ b/config-models/aether-2.1.x/files/yang/service-group.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typede for service-group-id";
   }
 
   typedef service-kind {
@@ -30,6 +31,7 @@
       length 1..32;
       pattern "default|on-demand";
     }
+    description "The typedef for service-kind";
   }
 
   container service-group {
@@ -61,20 +63,21 @@
           description
               "Link to service policy";
         }
-        leaf kind {    
+        leaf kind {
           type service-kind;
           default "default";
           description
             "Type of service link";
         }
-      }      
+        description "The container for service-policies";
+      }
 
       leaf description {
         type string {
           length 1..100;
         }
         description "description of this service group";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/service-policy.yang b/config-models/aether-2.1.x/files/yang/service-policy.yang
index a0db158..fa83a38 100755
--- a/config-models/aether-2.1.x/files/yang/service-policy.yang
+++ b/config-models/aether-2.1.x/files/yang/service-policy.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for service-policy-id";
   }
 
   container service-policy {
@@ -61,15 +62,15 @@
         default 9;
         description
           "Evolved-ARP";
-      }      
+      }
 
       container ambr {
         leaf uplink {
           type uint32 {
             range 0..4294967295;
           }
-          default 0;
           units bps;
+          default 0;
           description
             "Upstream aggregate maximum bit rate";
         }
@@ -77,11 +78,12 @@
           type uint32 {
             range 0..4294967295;
           }
+	  units bps;
           default 0;
-          units bps;
           description
             "Downstream aggregate maximum bit rate";
-        }        
+        }
+        description "The container for ambr";
       }
 
       list rules {
@@ -99,7 +101,8 @@
           description
             "Enable or disable this service to use this rule";
         }
-      }       
+        description "The list for rules";
+      }
 
       leaf description {
         type string {
@@ -108,5 +111,5 @@
         description "description of this profile";
       }      
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/service-rule.yang b/config-models/aether-2.1.x/files/yang/service-rule.yang
index 5dce127..b39c9e9 100755
--- a/config-models/aether-2.1.x/files/yang/service-rule.yang
+++ b/config-models/aether-2.1.x/files/yang/service-rule.yang
@@ -21,6 +21,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for service-rule-id";
   }
 
   container service-rule {
@@ -64,11 +65,11 @@
           leaf priority {
             type uint32 {
               range 0..15;
-            }          
+            }
             default 0;
             description
               "Priority";
-          }        
+          }
           leaf preemption-capability {
             type boolean;
             default true;
@@ -89,8 +90,8 @@
             type uint32 {
               range 0..4294967295;
             }
+	    units bps;
             default 0;
-            units bps;
             description
               "Upstream maximum requested bandwidth";
           }
@@ -98,11 +99,12 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Downstream maximum requested bandwidth";
-          }        
+          }
+          description "The container for maximum-requested-bandwidth";
         }
 
         container guaranteed-bitrate {
@@ -110,8 +112,8 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Upstream guaranteed bitrate";
           }
@@ -119,11 +121,12 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Downstream guaranteed bitrate";
-          }        
+          }
+          description "The container for guaranteed-bitrate";
         }
 
         container aggregate-maximum-bitrate {
@@ -131,8 +134,8 @@
             type uint32 {
               range 0..4294967295;
             }
+	    units bps;
             default 0;
-            units bps;
             description
               "Upstream aggregate maximum bitrate";
           }
@@ -140,14 +143,16 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Downstream aggregate maximum bitrate";
-          }        
+          }
+	  description "The container for aggregate-maximum-bitrate";
         }
+        description "The container for qos";
       }
-  
+
       container flow {
         leaf specification {
           type string {
@@ -155,6 +160,7 @@
           }
           description "specification of this flow";
         }
+        description "The container for flow";
       }
 
       leaf description {
@@ -162,7 +168,7 @@
           length 1..100;
         }
         description "description of this rule";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.1.x/files/yang/up-profile.yang b/config-models/aether-2.1.x/files/yang/up-profile.yang
index 9a38b02..bf17f89 100755
--- a/config-models/aether-2.1.x/files/yang/up-profile.yang
+++ b/config-models/aether-2.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 {
@@ -44,7 +45,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf user-plane {
         type string {
@@ -65,7 +66,7 @@
           length 1..100;
         }
         description "description of this profile";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/Chart.yaml b/config-models/aether-2.2.x/Chart.yaml
index cbeac17..9226faa 100644
--- a/config-models/aether-2.2.x/Chart.yaml
+++ b/config-models/aether-2.2.x/Chart.yaml
@@ -4,7 +4,7 @@
 
 apiVersion: v2
 name: config-model-aether
-version: 2.2.3
+version: 2.2.4
 kubeVersion: ">=1.18.0"
 appVersion: 2.2.0
 description: Aether config model
diff --git a/config-models/aether-2.2.x/files/yang/access-profile.yang b/config-models/aether-2.2.x/files/yang/access-profile.yang
index d58a674..080ab14 100755
--- a/config-models/aether-2.2.x/files/yang/access-profile.yang
+++ b/config-models/aether-2.2.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 {
@@ -44,7 +45,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf type {
         type string {
@@ -52,7 +53,7 @@
         }
         description "type of profile";
       }
-  
+
       leaf filter {
         type string {
           length 0..32;
@@ -67,5 +68,5 @@
         description "description of this profile";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/aether-subscriber.yang b/config-models/aether-2.2.x/files/yang/aether-subscriber.yang
index 30f3e52..5cfa67e 100755
--- a/config-models/aether-2.2.x/files/yang/aether-subscriber.yang
+++ b/config-models/aether-2.2.x/files/yang/aether-subscriber.yang
@@ -11,7 +11,7 @@
   import up-profile{ prefix up; }
   import access-profile{ prefix ap; }
   import security-profile{ prefix sec; }
-  import enterprise{ prefix ent; }  
+  import enterprise{ prefix ent; }
   import ietf-yang-types{ prefix ietf; }
 
   organization "Open Networking Foundation.";
@@ -29,18 +29,21 @@
       type uint32 {
         range 0..999;
       }
+    description "The typede for mcc";
   }
 
   typedef mnc {
       type uint32 {
         range 0..999;
       }
+    description "The typede for mnc";
   }
 
   typedef tac {
       type uint32 {
         range 0..99999999;
       }
+    description "The typede for tac";
   }
 
   container subscriber {
@@ -52,8 +55,8 @@
         "List of subscriber devices";
 
       leaf id {
-        description "identifier for this subscriber, typically a UUID";
         type ietf:uuid;
+        description "identifier for this subscriber, typically a UUID";
       }
 
       leaf display-name {
@@ -61,7 +64,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }      
+      }
 
       choice imsi {
         case wildcard {
@@ -69,16 +72,20 @@
             type string {
               length 1..15;
             }
+            description "The leaf for imsi-wildcard";
           }
         }
         case range {
           leaf imsi-range-from {
             type uint64;
+            description "The leaf for imsi-range-from";
           }
           leaf imsi-range-to {
             type uint64;
+            description "The leaf for imsi-range-to";
           }
         }
+        description "The choise for imsi";
       }
 
       container serving-plmn {
@@ -94,6 +101,7 @@
           type tac;
           description "type allocation code";
         }
+        description "The container for serving-plmn";
       }
 
       leaf requested-apn {
@@ -122,7 +130,7 @@
       leaf enterprise {
         type leafref {
           path "/ent:enterprise/ent:enterprise/ent:id";
-        }              
+        }
         description
           "Link to enterprise that owns this UE range";
       }
@@ -138,14 +146,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";
         }
@@ -154,7 +162,7 @@
           leaf access-profile {
             type leafref {
               path "/ap:access-profile/ap:access-profile/ap:id";
-            }            
+            }
             description
                 "Link to access profile";
           }
@@ -164,15 +172,17 @@
             description
               "Allow or disallow this ue to use this access profile";
           }
+          description "The list for access-profile";
         }
         leaf security-profile {
           type leafref {
             path "/sec:security-profile/sec:security-profile/sec:id";
-          }              
+          }
           description
             "Link to security profile";
         }
+        description "The container for profiles";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/apn-profile.yang b/config-models/aether-2.2.x/files/yang/apn-profile.yang
index 27361dc..8445cc8 100755
--- a/config-models/aether-2.2.x/files/yang/apn-profile.yang
+++ b/config-models/aether-2.2.x/files/yang/apn-profile.yang
@@ -21,12 +21,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 {
@@ -47,7 +48,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf apn-name {
         type string {
@@ -96,5 +97,5 @@
           "Link to service group";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/connectivity-service.yang b/config-models/aether-2.2.x/files/yang/connectivity-service.yang
index f12340b..139a93f 100755
--- a/config-models/aether-2.2.x/files/yang/connectivity-service.yang
+++ b/config-models/aether-2.2.x/files/yang/connectivity-service.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for connectivity-service-id";
   }
 
   container connectivity-service {
@@ -43,7 +44,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type string {
@@ -65,7 +66,7 @@
       leaf pcrf-endpoint {
         type inet:uri;
         description "url of the pcrf service";
-      }         
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/enterprise.yang b/config-models/aether-2.2.x/files/yang/enterprise.yang
index 38cb4b8..b556638 100755
--- a/config-models/aether-2.2.x/files/yang/enterprise.yang
+++ b/config-models/aether-2.2.x/files/yang/enterprise.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for enterprise-id";
   }
 
   container enterprise {
@@ -43,7 +44,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type string {
@@ -57,7 +58,7 @@
         leaf connectivity-service {
           type leafref {
             path "/cs:connectivity-service/cs:connectivity-service/cs:id";
-          }            
+          }
           description
             "Link to connectivity services where configuration should be pushed for this enterprise's devices";
         }
@@ -67,7 +68,8 @@
           description
             "Allow or disallow pushes to this connectivity service";
         }
-      }              
+        description "The list for connectivity-service";
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/ietf-inet-types.yang b/config-models/aether-2.2.x/files/yang/ietf-inet-types.yang
index eacefb6..fa57f75 100644
--- a/config-models/aether-2.2.x/files/yang/ietf-inet-types.yang
+++ b/config-models/aether-2.2.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-2.2.x/files/yang/qos-profile.yang b/config-models/aether-2.2.x/files/yang/qos-profile.yang
index 5ad91b4..85b6630 100755
--- a/config-models/aether-2.2.x/files/yang/qos-profile.yang
+++ b/config-models/aether-2.2.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,15 +45,15 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       container apn-ambr {
         leaf uplink {
           type uint32 {
             range 0..4294967295;
           }
-          default 0;
           units bps;
+          default 0;
           description
             "Upstream aggregate maximum bit rate";
         }
@@ -60,11 +61,12 @@
           type uint32 {
             range 0..4294967295;
           }
-          default 0;
           units bps;
+          default 0;
           description
             "Downstream aggregate maximum bit rate";
-        }        
+        }
+        description "The container for apn-ambr";
       }
 
       leaf qci {
@@ -80,11 +82,11 @@
         leaf priority {
           type uint32 {
             range 0..15;
-          }          
+          }
           default 0;
           description
             "Priority";
-        }        
+        }
         leaf preemption-capability {
           type boolean;
           default true;
@@ -98,8 +100,8 @@
             "This bearer may be dropped for a bearer with higher priority";
         }
         description "Evolved-ARP";
-      }        
-      
+      }
+
       leaf description {
         type string {
           length 1..100;
@@ -107,5 +109,5 @@
         description "description of this profile";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/security-profile.yang b/config-models/aether-2.2.x/files/yang/security-profile.yang
index 745b88e..e060487 100755
--- a/config-models/aether-2.2.x/files/yang/security-profile.yang
+++ b/config-models/aether-2.2.x/files/yang/security-profile.yang
@@ -21,6 +21,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for security-profile-id";
   }
 
   container security-profile {
@@ -77,7 +78,7 @@
           length 1..100;
         }
         description "description of this security profile";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/service-group.yang b/config-models/aether-2.2.x/files/yang/service-group.yang
index 9f2e7da..bb5ddf2 100755
--- a/config-models/aether-2.2.x/files/yang/service-group.yang
+++ b/config-models/aether-2.2.x/files/yang/service-group.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for service-group-id";
   }
 
   typedef service-kind {
@@ -30,6 +31,7 @@
       length 1..32;
       pattern "default|on-demand";
     }
+    description "The typedef for service-kind";
   }
 
   container service-group {
@@ -61,20 +63,21 @@
           description
               "Link to service policy";
         }
-        leaf kind {    
+        leaf kind {
           type service-kind;
           default "default";
           description
             "Type of service link";
         }
-      }      
+        description "The list for service-policies";
+      }
 
       leaf description {
         type string {
           length 1..100;
         }
         description "description of this service group";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/service-policy.yang b/config-models/aether-2.2.x/files/yang/service-policy.yang
index a0db158..d30f1ad 100755
--- a/config-models/aether-2.2.x/files/yang/service-policy.yang
+++ b/config-models/aether-2.2.x/files/yang/service-policy.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for service-policy-id";
   }
 
   container service-policy {
@@ -61,15 +62,15 @@
         default 9;
         description
           "Evolved-ARP";
-      }      
+      }
 
       container ambr {
         leaf uplink {
           type uint32 {
             range 0..4294967295;
           }
-          default 0;
           units bps;
+          default 0;
           description
             "Upstream aggregate maximum bit rate";
         }
@@ -77,11 +78,12 @@
           type uint32 {
             range 0..4294967295;
           }
-          default 0;
           units bps;
+          default 0;
           description
             "Downstream aggregate maximum bit rate";
-        }        
+        }
+        description "The container for ambr";
       }
 
       list rules {
@@ -99,14 +101,15 @@
           description
             "Enable or disable this service to use this rule";
         }
-      }       
+        description "The list for rules";
+      }
 
       leaf description {
         type string {
           length 1..100;
         }
         description "description of this profile";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/service-rule.yang b/config-models/aether-2.2.x/files/yang/service-rule.yang
index 5dce127..efb0539 100755
--- a/config-models/aether-2.2.x/files/yang/service-rule.yang
+++ b/config-models/aether-2.2.x/files/yang/service-rule.yang
@@ -21,6 +21,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for service-rule-id";
   }
 
   container service-rule {
@@ -64,11 +65,11 @@
           leaf priority {
             type uint32 {
               range 0..15;
-            }          
+            }
             default 0;
             description
               "Priority";
-          }        
+          }
           leaf preemption-capability {
             type boolean;
             default true;
@@ -89,8 +90,8 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Upstream maximum requested bandwidth";
           }
@@ -98,11 +99,12 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Downstream maximum requested bandwidth";
-          }        
+          }
+          description "The container for maximum-requested-bandwidth";
         }
 
         container guaranteed-bitrate {
@@ -110,8 +112,8 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Upstream guaranteed bitrate";
           }
@@ -119,11 +121,12 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Downstream guaranteed bitrate";
-          }        
+          }
+          description "The container for guaranteed-bitrate";
         }
 
         container aggregate-maximum-bitrate {
@@ -131,8 +134,8 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Upstream aggregate maximum bitrate";
           }
@@ -140,14 +143,16 @@
             type uint32 {
               range 0..4294967295;
             }
-            default 0;
             units bps;
+            default 0;
             description
               "Downstream aggregate maximum bitrate";
-          }        
+          }
+          description "The container for aggregate-maximum-bitrate";
         }
+        description "The container for qos";
       }
-  
+
       container flow {
         leaf specification {
           type string {
@@ -155,6 +160,7 @@
           }
           description "specification of this flow";
         }
+        description "The container for flow";
       }
 
       leaf description {
@@ -162,7 +168,7 @@
           length 1..100;
         }
         description "description of this rule";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.2.x/files/yang/up-profile.yang b/config-models/aether-2.2.x/files/yang/up-profile.yang
index 9a38b02..bf17f89 100755
--- a/config-models/aether-2.2.x/files/yang/up-profile.yang
+++ b/config-models/aether-2.2.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 {
@@ -44,7 +45,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf user-plane {
         type string {
@@ -65,7 +66,7 @@
           length 1..100;
         }
         description "description of this profile";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.x/Chart.yaml b/config-models/aether-2.x/Chart.yaml
index 0378168..b7f98e5 100644
--- a/config-models/aether-2.x/Chart.yaml
+++ b/config-models/aether-2.x/Chart.yaml
@@ -4,7 +4,7 @@
 
 apiVersion: v2
 name: config-model-aether
-version: 2.0.2
+version: 2.0.3
 kubeVersion: ">=1.18.0"
 appVersion: 2.0.0
 description: Aether config model
diff --git a/config-models/aether-2.x/files/yang/access-profile.yang b/config-models/aether-2.x/files/yang/access-profile.yang
index d58a674..080ab14 100755
--- a/config-models/aether-2.x/files/yang/access-profile.yang
+++ b/config-models/aether-2.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 {
@@ -44,7 +45,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf type {
         type string {
@@ -52,7 +53,7 @@
         }
         description "type of profile";
       }
-  
+
       leaf filter {
         type string {
           length 0..32;
@@ -67,5 +68,5 @@
         description "description of this profile";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.x/files/yang/aether-subscriber.yang b/config-models/aether-2.x/files/yang/aether-subscriber.yang
index 30f3e52..d1f43c9 100755
--- a/config-models/aether-2.x/files/yang/aether-subscriber.yang
+++ b/config-models/aether-2.x/files/yang/aether-subscriber.yang
@@ -11,7 +11,7 @@
   import up-profile{ prefix up; }
   import access-profile{ prefix ap; }
   import security-profile{ prefix sec; }
-  import enterprise{ prefix ent; }  
+  import enterprise{ prefix ent; }
   import ietf-yang-types{ prefix ietf; }
 
   organization "Open Networking Foundation.";
@@ -29,18 +29,21 @@
       type uint32 {
         range 0..999;
       }
+    description "The typedef for mmc";
   }
 
   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 {
@@ -52,8 +55,8 @@
         "List of subscriber devices";
 
       leaf id {
-        description "identifier for this subscriber, typically a UUID";
         type ietf:uuid;
+        description "identifier for this subscriber, typically a UUID";
       }
 
       leaf display-name {
@@ -61,7 +64,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }      
+      }
 
       choice imsi {
         case wildcard {
@@ -69,16 +72,20 @@
             type string {
               length 1..15;
             }
+            description "The typedef for imsi-wildcard";
           }
         }
         case range {
           leaf imsi-range-from {
             type uint64;
+            description "The typedef for imsi-range-from";
           }
           leaf imsi-range-to {
             type uint64;
+            description "The typedef for imsi-range-to";
           }
         }
+        description "The choice for imsi";
       }
 
       container serving-plmn {
@@ -94,6 +101,7 @@
           type tac;
           description "type allocation code";
         }
+        description "The container for serving-plmn";
       }
 
       leaf requested-apn {
@@ -122,7 +130,7 @@
       leaf enterprise {
         type leafref {
           path "/ent:enterprise/ent:enterprise/ent:id";
-        }              
+        }
         description
           "Link to enterprise that owns this UE range";
       }
@@ -138,14 +146,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";
         }
@@ -154,7 +162,7 @@
           leaf access-profile {
             type leafref {
               path "/ap:access-profile/ap:access-profile/ap:id";
-            }            
+            }
             description
                 "Link to access profile";
           }
@@ -164,15 +172,17 @@
             description
               "Allow or disallow this ue to use this access profile";
           }
+          description "The list for access-profile";
         }
         leaf security-profile {
           type leafref {
             path "/sec:security-profile/sec:security-profile/sec:id";
-          }              
+          }
           description
             "Link to security profile";
         }
+        description "The container for profiles";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.x/files/yang/apn-profile.yang b/config-models/aether-2.x/files/yang/apn-profile.yang
index df18024..9f2125e 100755
--- a/config-models/aether-2.x/files/yang/apn-profile.yang
+++ b/config-models/aether-2.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 {
@@ -46,7 +47,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf apn-name {
         type string {
@@ -85,7 +86,7 @@
           length 1..100;
         }
         description "description of this profile";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.x/files/yang/connectivity-service.yang b/config-models/aether-2.x/files/yang/connectivity-service.yang
index 1343a0d..e86e360 100755
--- a/config-models/aether-2.x/files/yang/connectivity-service.yang
+++ b/config-models/aether-2.x/files/yang/connectivity-service.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for connectivity-service-id";
   }
 
   container connectivity-service {
@@ -43,7 +44,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type string {
@@ -60,7 +61,7 @@
       leaf hss-endpoint {
         type inet:uri;
         description "url of the hss service";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.x/files/yang/enterprise.yang b/config-models/aether-2.x/files/yang/enterprise.yang
index 38cb4b8..9bc6bbb 100755
--- a/config-models/aether-2.x/files/yang/enterprise.yang
+++ b/config-models/aether-2.x/files/yang/enterprise.yang
@@ -23,6 +23,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for enterprise-id";
   }
 
   container enterprise {
@@ -43,7 +44,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type string {
@@ -57,7 +58,7 @@
         leaf connectivity-service {
           type leafref {
             path "/cs:connectivity-service/cs:connectivity-service/cs:id";
-          }            
+          }
           description
             "Link to connectivity services where configuration should be pushed for this enterprise's devices";
         }
@@ -67,7 +68,8 @@
           description
             "Allow or disallow pushes to this connectivity service";
         }
-      }              
+        description "The container for connectivity-service";
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.x/files/yang/ietf-inet-types.yang b/config-models/aether-2.x/files/yang/ietf-inet-types.yang
index eacefb6..fa57f75 100644
--- a/config-models/aether-2.x/files/yang/ietf-inet-types.yang
+++ b/config-models/aether-2.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-2.x/files/yang/qos-profile.yang b/config-models/aether-2.x/files/yang/qos-profile.yang
index 5ad91b4..85b6630 100755
--- a/config-models/aether-2.x/files/yang/qos-profile.yang
+++ b/config-models/aether-2.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,15 +45,15 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       container apn-ambr {
         leaf uplink {
           type uint32 {
             range 0..4294967295;
           }
-          default 0;
           units bps;
+          default 0;
           description
             "Upstream aggregate maximum bit rate";
         }
@@ -60,11 +61,12 @@
           type uint32 {
             range 0..4294967295;
           }
-          default 0;
           units bps;
+          default 0;
           description
             "Downstream aggregate maximum bit rate";
-        }        
+        }
+        description "The container for apn-ambr";
       }
 
       leaf qci {
@@ -80,11 +82,11 @@
         leaf priority {
           type uint32 {
             range 0..15;
-          }          
+          }
           default 0;
           description
             "Priority";
-        }        
+        }
         leaf preemption-capability {
           type boolean;
           default true;
@@ -98,8 +100,8 @@
             "This bearer may be dropped for a bearer with higher priority";
         }
         description "Evolved-ARP";
-      }        
-      
+      }
+
       leaf description {
         type string {
           length 1..100;
@@ -107,5 +109,5 @@
         description "description of this profile";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.x/files/yang/security-profile.yang b/config-models/aether-2.x/files/yang/security-profile.yang
index a8a3069..00413b1 100755
--- a/config-models/aether-2.x/files/yang/security-profile.yang
+++ b/config-models/aether-2.x/files/yang/security-profile.yang
@@ -21,6 +21,7 @@
         type string {
             length 1..32;
         }
+    description "The typedef for security-profile-id";
   }
 
   container security-profile {
@@ -41,7 +42,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf key {
         type string {
@@ -67,7 +68,7 @@
           length 1..100;
         }
         description "description of this security profile";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-2.x/files/yang/up-profile.yang b/config-models/aether-2.x/files/yang/up-profile.yang
index 9a38b02..bf17f89 100755
--- a/config-models/aether-2.x/files/yang/up-profile.yang
+++ b/config-models/aether-2.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 {
@@ -44,7 +45,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf user-plane {
         type string {
@@ -65,7 +66,7 @@
           length 1..100;
         }
         description "description of this profile";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/Chart.yaml b/config-models/aether-3.x/Chart.yaml
index 1d77b11..c073e1e 100644
--- a/config-models/aether-3.x/Chart.yaml
+++ b/config-models/aether-3.x/Chart.yaml
@@ -4,7 +4,7 @@
 
 apiVersion: v2
 name: config-model-aether-3
-version: 3.0.14
+version: 3.0.15
 kubeVersion: ">=1.18.0"
 appVersion: 3.0.0
 description: Aether config model
diff --git a/config-models/aether-3.x/files/yang/aether-types.yang b/config-models/aether-3.x/files/yang/aether-types.yang
index fedbdc6..b8de573 100755
--- a/config-models/aether-3.x/files/yang/aether-types.yang
+++ b/config-models/aether-3.x/files/yang/aether-types.yang
@@ -21,12 +21,14 @@
       type string {
         pattern '[0-9]{3}';
       }
+    description "The typedef for mcc";
   }
 
   typedef mnc {
       type string {
         pattern '[0-9]{2,3}';
       }
+    description "The typedef for mnc";
   }
 
   typedef tac {
@@ -34,49 +36,57 @@
         length 4..8;
         pattern '[0-9A-F\.]*';
       }
+    description "The typedef for tac";
   }
 
   typedef ent {
       type uint32 {
         range 0..999;
       }
-  }  
+    description "The typedef for ent";
+  }
 
   typedef dnn {
       type string {
         length 1..32;
       }
-  }  
+    description "The typedef for dnn";
+  }
 
   typedef sst {
       type uint8 {
         range 1..255;
       }
+    description "The typedef for sst";
   }
 
   typedef sd {
       type uint32 {
         range 0..16777215;
       }
+    description "The typedef for sd";
   }
 
   typedef qci {
       type uint8 {
         range 1..32;
       }
+    description "The typedef for qci";
   }
 
   typedef pelr {
       type int8 {
         range 0..10;
       }
+    description "The typedef for pelr";
   }
 
   typedef pdb {
       type uint16 {
         range 0..1000;
       }
-  }  
+    description "The typedef for pdb";
+  }
 
   // "TCP" or "UDP"
   typedef protocol {
@@ -85,6 +95,7 @@
         pattern "TCP|UDP";
       }
       default "TCP";
+    description "The typedef for protocol";
   }
 
   // "ENABLE" | "MAINTENTANCE" | "DISABLE"
@@ -94,16 +105,19 @@
         pattern "ENABLE|MAINTENANCE|DISABLE";
       }
       default "ENABLE";
-  }  
+    description "The typedef for admin-status";
+  }
 
   typedef mtu {
       type inet:port-number;
       default 1492;
+    description "The typedef for mtu";
   }
 
   typedef description {
     type string {
       length 1..1024;
     }
+    description "The typedef for description";
   }
 }
diff --git a/config-models/aether-3.x/files/yang/ap-list.yang b/config-models/aether-3.x/files/yang/ap-list.yang
index 3c1a759..cb0ecde 100755
--- a/config-models/aether-3.x/files/yang/ap-list.yang
+++ b/config-models/aether-3.x/files/yang/ap-list.yang
@@ -13,7 +13,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "An Aether AP List is a named list of access points.";
 
   revision "2021-06-02" {
@@ -25,6 +25,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef ap-list-id";
   }
 
   container ap-list {
@@ -52,7 +53,7 @@
           mandatory true;
           description
               "Type Allocation Code";
-        }        
+        }
         leaf enable {
           type boolean;
           default true;
@@ -61,14 +62,14 @@
         }
         description
           "List of access point addresses";
-      }        
+      }
 
       leaf display-name {
         type string {
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type at:description;
@@ -85,7 +86,7 @@
         mandatory true;
         description
           "Link to enterprise that owns this Access Point List";
-      }       
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/application.yang b/config-models/aether-3.x/files/yang/application.yang
index 2f1a4fc..fcc05e3 100755
--- a/config-models/aether-3.x/files/yang/application.yang
+++ b/config-models/aether-3.x/files/yang/application.yang
@@ -13,7 +13,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "An Aether Application is an application that UE devices may
      connect to. Includes a set of endpoints where services are
      provided.";
@@ -27,6 +27,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for application-id";
   }
 
   container application {
@@ -83,7 +84,8 @@
           type at:protocol;
           description
               "Name of this endpoint";
-        }                   
+        }
+        description "The list for endpoints";
       }
 
       leaf enterprise {
@@ -95,5 +97,5 @@
           "Link to enterprise that owns this Application. May be set to None if the application is global to all Enterprises.";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/connectivity-service.yang b/config-models/aether-3.x/files/yang/connectivity-service.yang
index f3cc3fc..aa97da3 100755
--- a/config-models/aether-3.x/files/yang/connectivity-service.yang
+++ b/config-models/aether-3.x/files/yang/connectivity-service.yang
@@ -12,7 +12,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "An Aether Connectivity service is the linkage between the
      ROC and a core that provides connectivity.";
 
@@ -25,6 +25,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for connectivity-service-id";
   }
 
   container connectivity-service {
@@ -45,7 +46,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type at:description;
@@ -70,7 +71,7 @@
       leaf core-5g-endpoint {
         type inet:uri;
         description "url of the 5g core";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/device-group.yang b/config-models/aether-3.x/files/yang/device-group.yang
index e9c1590..feb0337 100755
--- a/config-models/aether-3.x/files/yang/device-group.yang
+++ b/config-models/aether-3.x/files/yang/device-group.yang
@@ -13,7 +13,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "An aether device group represents a list of device IMSIS.
      This list is expressed as a set of ranges,
          [(from_imsi, to_imsi),
@@ -33,7 +33,8 @@
         type yg:yang-identifier {
             length 1..32;
         }
-  }  
+    description "The typedef for device-group-id";
+  }
 
   container device-group {
     description "The top level container";
@@ -58,19 +59,22 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }      
-      
+      }
+
       list imsis {
         // TODO: imsi-range-from cannot be used as a list index
         key "name";
         leaf name {
           type string;
+          description "The leaf for imsi name";
         }
         leaf imsi-range-from {
           type uint64;
+	  description "The leaf for imsi-range-from";
         }
         leaf imsi-range-to {
           type uint64;
+          description "The leaf for imsi-range-to";
         }
         description
           "List of imsi ranges that comprise this group. It's acceptable for
@@ -80,7 +84,7 @@
       leaf ip-domain {
         type leafref {
           path "/ipd:ip-domain/ipd:ip-domain/ipd:id";
-        }          
+        }
         description
           "Link to ip-domain settings that determine the pool of IP addresses,
            as well as the domain resolver settings to use";
@@ -95,5 +99,5 @@
           "Link to site";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/enterprise.yang b/config-models/aether-3.x/files/yang/enterprise.yang
index 4d91f47..8128e6d 100755
--- a/config-models/aether-3.x/files/yang/enterprise.yang
+++ b/config-models/aether-3.x/files/yang/enterprise.yang
@@ -12,7 +12,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "An Aether Enterprise is an administration entity that
      has ownership of resrouces.";
 
@@ -25,6 +25,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for enterprise-id";
   }
 
   container enterprise {
@@ -45,7 +46,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type at:description;
@@ -57,7 +58,7 @@
         leaf connectivity-service {
           type leafref {
             path "/cs:connectivity-service/cs:connectivity-service/cs:id";
-          }            
+          }
           description
             "Link to connectivity services where configuration should be pushed for this enterprise's devices";
         }
@@ -67,7 +68,8 @@
           description
             "Allow or disallow pushes to this connectivity service";
         }
-      }              
+        description "The list for connectivity-service";
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/ietf-inet-types.yang b/config-models/aether-3.x/files/yang/ietf-inet-types.yang
index eacefb6..fa57f75 100644
--- a/config-models/aether-3.x/files/yang/ietf-inet-types.yang
+++ b/config-models/aether-3.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-3.x/files/yang/ip-domain.yang b/config-models/aether-3.x/files/yang/ip-domain.yang
index 7f2bf73..9efd41d 100755
--- a/config-models/aether-3.x/files/yang/ip-domain.yang
+++ b/config-models/aether-3.x/files/yang/ip-domain.yang
@@ -27,6 +27,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for ip-domain-id";
   }
 
   container ip-domain {
@@ -52,7 +53,7 @@
       leaf dnn {
         type at:dnn;
         description "DNN/APN";
-      }      
+      }
 
       leaf dns-primary {
         type inet:ip-address;
@@ -80,7 +81,7 @@
       leaf mtu {
         type at:mtu;
         description "maximum transmission unit";
-      }           
+      }
 
       leaf description {
         type at:description;
@@ -96,7 +97,7 @@
         mandatory true;
         description
           "Link to enterprise that owns this IP-Domain";
-      }         
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/site.yang b/config-models/aether-3.x/files/yang/site.yang
index 89f8fc7..5c4a31c 100755
--- a/config-models/aether-3.x/files/yang/site.yang
+++ b/config-models/aether-3.x/files/yang/site.yang
@@ -12,7 +12,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "An Aether site is a location where resources are deployed.";
 
   revision "2021-06-02" {
@@ -24,6 +24,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for site-id";
   }
 
   container site {
@@ -49,27 +50,27 @@
       leaf enterprise {
         type leafref {
           path "/ent:enterprise/ent:enterprise/ent:id";
-        }              
+        }
+        mandatory true;
         description
           "Link to enterprise that owns this site";
-        mandatory true;          
       }
 
       container imsi-definition {
         leaf mcc {
           type at:mcc;
+	  mandatory true;
           description "mobile country code";
-          mandatory true;
         }
         leaf mnc {
           type at:mnc;
+	  mandatory true;
           description "mobile network code";
-          mandatory true;
         }
         leaf enterprise {
           type at:ent;
+	  mandatory true;
           description "enterprise-specific identifier";
-          mandatory true;
         }
         leaf format {
           type string {
@@ -89,12 +90,13 @@
           //   3 digit enterprise ID
           //   5 digit subscriber ID
         }
+        description "The container for imsi-definition";
       }
 
       leaf description {
         type at:description;
         description "description of this site";
-      }         
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/template.yang b/config-models/aether-3.x/files/yang/template.yang
index ea040e7..95bda57 100755
--- a/config-models/aether-3.x/files/yang/template.yang
+++ b/config-models/aether-3.x/files/yang/template.yang
@@ -12,7 +12,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "The aether vcs-template holds common parameters used
      by a virtual connectivity service. Templates are used to
      populate a VCS.";
@@ -26,6 +26,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for template-id";
   }
 
   container template {
@@ -71,15 +72,15 @@
       leaf traffic-class {
         type leafref {
           path "/tc:traffic-class/tc:traffic-class/tc:id";
-        }          
+        }
         description
           "Link to traffic class";
-      } 
+      }
 
       leaf description {
         type at:description;
         description "description of this vcs template";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/traffic-class.yang b/config-models/aether-3.x/files/yang/traffic-class.yang
index 636c816..ce9aeb5 100755
--- a/config-models/aether-3.x/files/yang/traffic-class.yang
+++ b/config-models/aether-3.x/files/yang/traffic-class.yang
@@ -11,7 +11,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "The aether traffic class associates qos constants
      with a named class of service";
 
@@ -24,6 +24,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for traffic-class-id";
   }
 
   container traffic-class {
@@ -54,17 +55,17 @@
       leaf pdb {
         type at:pdb;
         description "PDB";
-      }        
+      }
 
       leaf qci {
         type at:qci;
         description "QCI";
-      }      
+      }
 
       leaf description {
         type at:description;
         description "description of this traffic class";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/upf.yang b/config-models/aether-3.x/files/yang/upf.yang
index 1c92214..3c56722 100755
--- a/config-models/aether-3.x/files/yang/upf.yang
+++ b/config-models/aether-3.x/files/yang/upf.yang
@@ -24,6 +24,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for upf-id";
   }
 
   container upf {
@@ -75,7 +76,7 @@
         mandatory true;
         description
           "Link to enterprise that owns this Access Point List";
-      }      
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-3.x/files/yang/vcs.yang b/config-models/aether-3.x/files/yang/vcs.yang
index ab4e370..5799143 100755
--- a/config-models/aether-3.x/files/yang/vcs.yang
+++ b/config-models/aether-3.x/files/yang/vcs.yang
@@ -8,7 +8,7 @@
 
   import template{ prefix vt; }
   import upf { prefix upf; }
-  import ap-list{ prefix apl; }    
+  import ap-list{ prefix apl; }
   import application{ prefix app; }
   import aether-types{ prefix at; }
   import device-group{ prefix dg; }
@@ -18,7 +18,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "An Aether Virtual Cellular Service (VCS) is
      used to connect UE devices with applications";
 
@@ -31,6 +31,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for vcs-id";
   }
 
   container vcs {
@@ -54,13 +55,13 @@
       }
 
       list device-group {
-        key "device-group";   
+        key "device-group";
         leaf device-group {
           type leafref {
             path "/dg:device-group/dg:device-group/dg:id";
-          }          
+          }
           description
-            "Link to device group";          
+            "Link to device group";
         }
         leaf enable {
           type boolean;
@@ -71,19 +72,19 @@
         description
           "A list of device groups. Groups will only participate in
            the VCS if the enable field is set to True";
-      }         
+      }
 
       leaf template {
         type leafref {
           path "/vt:template/vt:template/vt:id";
-        }          
+        }
         description
           "Link to user vcs template that was used to initialize
            this VCS";
       }
 
       list application {
-        key "application";   
+        key "application";
         leaf application {
           type leafref {
             path "/app:application/app:application/app:id";
@@ -102,12 +103,12 @@
           "An ordered list of applications to allow and deny. The deny rules
            will be executed first, followed by the allow rules. The first rule
            to match is returned. An implicit DENY ALL lies at the end.";
-      }      
+      }
 
       leaf upf {
         type leafref {
           path "/upf:upf/upf:upf/upf:id";
-        }          
+        }
         description
           "Link to user plane that implements this vcf";
       }
@@ -115,7 +116,7 @@
       leaf ap {
         type leafref {
           path "/apl:ap-list/apl:ap-list/apl:id";
-        }          
+        }
         description
           "Link to access-point list";
       }
@@ -132,7 +133,7 @@
         mandatory true;
         description
           "Link to enterprise that owns this VCS";
-      }      
+      }
 
       // the following are populated from the template
       leaf sst {
@@ -140,7 +141,7 @@
         mandatory true;
         description "Slice/Service type. Immutable.";
       }
-      
+
       leaf sd {
         type at:sd;
         mandatory true;
@@ -167,5 +168,5 @@
       }
       // end of items populated from the template
     }
-  } 
+  }
 }
diff --git a/config-models/aether-4.x/Chart.yaml b/config-models/aether-4.x/Chart.yaml
index 416ac27..42da325 100644
--- a/config-models/aether-4.x/Chart.yaml
+++ b/config-models/aether-4.x/Chart.yaml
@@ -4,7 +4,7 @@
 
 apiVersion: v2
 name: config-model-aether-4
-version: 4.0.15
+version: 4.0.16
 kubeVersion: ">=1.18.0"
 appVersion: 4.0.0
 description: Aether config model
diff --git a/config-models/aether-4.x/files/yang/ietf-inet-types.yang b/config-models/aether-4.x/files/yang/ietf-inet-types.yang
index eacefb6..fa57f75 100644
--- a/config-models/aether-4.x/files/yang/ietf-inet-types.yang
+++ b/config-models/aether-4.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-4.x/files/yang/onf-aether-types.yang b/config-models/aether-4.x/files/yang/onf-aether-types.yang
index 3672203..679648e 100755
--- a/config-models/aether-4.x/files/yang/onf-aether-types.yang
+++ b/config-models/aether-4.x/files/yang/onf-aether-types.yang
@@ -20,24 +20,28 @@
   typedef bitrate {
       type uint64 {
       }
+    description "The typedef for bitrate";
   }
 
   typedef burst {
       type uint32 {
       }
       default 625000;
+    description "The typedef for burst";
   }
 
   typedef mcc {
       type string {
         pattern '[0-9]{3}';
       }
+    description "The typedef for mcc";
   }
 
   typedef mnc {
       type string {
         pattern '[0-9]{2,3}';
       }
+    description "The typedef for mnc";
   }
 
   typedef tac {
@@ -45,54 +49,63 @@
         length 4..8;
         pattern '[0-9A-F\.]*';
       }
+    description "The typedef for tac";
   }
 
   typedef ent {
       type uint32 {
         range 0..999;
       }
-  }  
+    description "The typedef for ent";
+  }
 
   typedef dnn {
       type string {
         length 1..32;
       }
-  }  
+    description "The typedef for dnn";
+  }
 
   typedef sst {
       type uint8 {
         range 1..255;
       }
+    description "The typedef for sst";
   }
 
   typedef sd {
       type uint32 {
         range 0..16777215;
       }
+    description "The typedef for sd";
   }
 
   typedef qci {
       type uint8 {
         range 1..32;
       }
+    description "The typedef for qci";
   }
 
   typedef arp {
       type uint8 {
         range 1..15;
       }
-  }  
+    description "The typedef for arp";
+  }
 
   typedef pelr {
       type int8 {
         range 0..10;
       }
+    description "The typedef for pelr";
   }
 
   typedef pdb {
       type uint16 {
         range 0..1000;
       }
+    description "The typedef for pdb";
   }
 
   typedef priority {
@@ -100,6 +113,7 @@
       // priorities 201-255 are reserved for system use
       range 0..200;
     }
+    description "The typedef for priority";
   }
 
   // "TCP" or "UDP"
@@ -109,6 +123,7 @@
         pattern "TCP|UDP";
       }
       default "TCP";
+    description "The typedef for protocol";
   }
 
   // "ENABLE" | "MAINTENTANCE" | "DISABLE"
@@ -118,6 +133,7 @@
         pattern "ENABLE|MAINTENANCE|DISABLE";
       }
       default "ENABLE";
+    description "The typedef for admin-status";
   }
 
   typedef behavior {
@@ -125,16 +141,19 @@
         length 0..20;
         pattern "DENY-ALL|ALLOW-ALL|ALLOW-PUBLIC";
       }
+    description "The typedef for behavior";
   }
 
   typedef mtu {
       type inet:port-number;
       default 1492;
+    description "The typedef for mtu";
   }
 
   typedef description {
     type string {
       length 1..1024;
     }
+    description "The typedef for description";
   }
 }
diff --git a/config-models/aether-4.x/files/yang/onf-application.yang b/config-models/aether-4.x/files/yang/onf-application.yang
index cb21a6c..e024462 100755
--- a/config-models/aether-4.x/files/yang/onf-application.yang
+++ b/config-models/aether-4.x/files/yang/onf-application.yang
@@ -28,6 +28,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for application-id";
   }
 
   container application {
@@ -112,6 +113,7 @@
           }
           description "display name to use in GUI or CLI";
         }
+        description "list for endpoint";
       }
 
       leaf enterprise {
diff --git a/config-models/aether-4.x/files/yang/onf-connectivity-service.yang b/config-models/aether-4.x/files/yang/onf-connectivity-service.yang
index dfcd8d0..e1d53b6 100755
--- a/config-models/aether-4.x/files/yang/onf-connectivity-service.yang
+++ b/config-models/aether-4.x/files/yang/onf-connectivity-service.yang
@@ -25,6 +25,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+   description "The typedef for connectivity-service-id";
   }
 
   container connectivity-service {
diff --git a/config-models/aether-4.x/files/yang/onf-device-group.yang b/config-models/aether-4.x/files/yang/onf-device-group.yang
index 87295db..a93c295 100755
--- a/config-models/aether-4.x/files/yang/onf-device-group.yang
+++ b/config-models/aether-4.x/files/yang/onf-device-group.yang
@@ -34,6 +34,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for device-group-id";
   }
 
   container device-group {
@@ -71,9 +72,13 @@
         }
         leaf imsi-range-from {
           type uint64;
+          description
+              "value of imsi-range-from";
         }
         leaf imsi-range-to {
           type uint64;
+          description
+              "value of imsi-range-to";
         }
         leaf display-name {
           type string {
@@ -102,24 +107,24 @@
           leaf uplink {
             type at:bitrate;
             units bps;
-            description "Per-device MBR uplink data rate in bps";
             mandatory true;
+            description "Per-device MBR uplink data rate in bps";
           }
 
           leaf downlink {
             type at:bitrate;
             units bps;
-            description "Per-device MBR downlink data rate in bps";
             mandatory true;
+            description "Per-device MBR downlink data rate in bps";
           }
         }
         leaf traffic-class {
           type leafref {
             path "/tc:traffic-class/tc:traffic-class/tc:id";
           }
+          mandatory true;
           description
             "Link to traffic class";
-          mandatory true;
         }
       }
 
@@ -127,9 +132,9 @@
         type leafref {
           path "/st:site/st:site/st:id";
         }
+        mandatory true;
         description
           "Link to site";
-        mandatory true;
       }
     }
   }
diff --git a/config-models/aether-4.x/files/yang/onf-enterprise.yang b/config-models/aether-4.x/files/yang/onf-enterprise.yang
index ec61bf4..16ad5f9 100755
--- a/config-models/aether-4.x/files/yang/onf-enterprise.yang
+++ b/config-models/aether-4.x/files/yang/onf-enterprise.yang
@@ -12,7 +12,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "An Aether Enterprise is an administration entity that
      has ownership of resrouces.";
 
@@ -25,6 +25,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+   description "The typedef for enterprise-id";
   }
 
   container enterprise {
@@ -45,7 +46,7 @@
             length 1..80;
         }
         description "display name to use in GUI or CLI";
-      }     
+      }
 
       leaf description {
         type at:description;
@@ -57,7 +58,7 @@
         leaf connectivity-service {
           type leafref {
             path "/cs:connectivity-service/cs:connectivity-service/cs:id";
-          }            
+          }
           description
             "Link to connectivity services where configuration should be pushed for this enterprise's devices";
         }
@@ -67,7 +68,8 @@
           description
             "Allow or disallow pushes to this connectivity service";
         }
-      }              
+        description "The list for connectivity-service";
+      }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-4.x/files/yang/onf-ip-domain.yang b/config-models/aether-4.x/files/yang/onf-ip-domain.yang
index fdd8c2b..e896cc5 100755
--- a/config-models/aether-4.x/files/yang/onf-ip-domain.yang
+++ b/config-models/aether-4.x/files/yang/onf-ip-domain.yang
@@ -27,6 +27,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for ip-domain-id";
   }
 
   container ip-domain {
diff --git a/config-models/aether-4.x/files/yang/onf-site.yang b/config-models/aether-4.x/files/yang/onf-site.yang
index 7118c97..b5f22c4 100755
--- a/config-models/aether-4.x/files/yang/onf-site.yang
+++ b/config-models/aether-4.x/files/yang/onf-site.yang
@@ -25,6 +25,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for site-id";
   }
 
   container site {
@@ -112,32 +113,34 @@
           description
             "List of edge monitoring devices";
         }
+        description
+            "container for monitoring";
       }
 
       leaf enterprise {
         type leafref {
           path "/ent:enterprise/ent:enterprise/ent:id";
         }
+        mandatory true;
         description
           "Link to enterprise that owns this site";
-        mandatory true;
       }
 
       container imsi-definition {
         leaf mcc {
           type at:mcc;
-          description "mobile country code";
           mandatory true;
+          description "mobile country code";
         }
         leaf mnc {
           type at:mnc;
-          description "mobile network code";
           mandatory true;
+          description "mobile network code";
         }
         leaf enterprise {
           type at:ent;
-          description "enterprise-specific identifier";
           mandatory true;
+          description "enterprise-specific identifier";
         }
         leaf format {
           type string {
@@ -157,6 +160,7 @@
           //   3 digit enterprise ID
           //   5 digit subscriber ID
         }
+        description "container for imsi-defination";
       }
 
       leaf description {
diff --git a/config-models/aether-4.x/files/yang/onf-template.yang b/config-models/aether-4.x/files/yang/onf-template.yang
index 334dc11..bbd94ef 100755
--- a/config-models/aether-4.x/files/yang/onf-template.yang
+++ b/config-models/aether-4.x/files/yang/onf-template.yang
@@ -11,7 +11,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "The aether vcs-template holds common parameters used
      by a virtual connectivity service. Templates are used to
      populate a VCS.";
@@ -25,6 +25,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for template-id";
   }
 
   container template {
@@ -99,5 +100,5 @@
         description "description of this vcs template";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-4.x/files/yang/onf-traffic-class.yang b/config-models/aether-4.x/files/yang/onf-traffic-class.yang
index f4f6cdf..a592267 100755
--- a/config-models/aether-4.x/files/yang/onf-traffic-class.yang
+++ b/config-models/aether-4.x/files/yang/onf-traffic-class.yang
@@ -11,7 +11,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "The aether traffic class associates qos constants
      with a named class of service";
 
@@ -24,6 +24,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for traffic-class-id";
   }
 
   container traffic-class {
@@ -71,5 +72,5 @@
         description "description of this traffic class";
       }
     }
-  } 
+  }
 }
diff --git a/config-models/aether-4.x/files/yang/onf-upf.yang b/config-models/aether-4.x/files/yang/onf-upf.yang
index a8a7c4c..5c8be50 100755
--- a/config-models/aether-4.x/files/yang/onf-upf.yang
+++ b/config-models/aether-4.x/files/yang/onf-upf.yang
@@ -25,6 +25,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+   description "The typedef for upf-id";
   }
 
   container upf {
@@ -57,7 +58,7 @@
       leaf config-endpoint {
         type inet:uri;
         description "url for configuring the UPF";
-      }         
+      }
 
       leaf display-name {
         type string {
diff --git a/config-models/aether-4.x/files/yang/onf-vcs.yang b/config-models/aether-4.x/files/yang/onf-vcs.yang
index 9597f9a..c275565 100755
--- a/config-models/aether-4.x/files/yang/onf-vcs.yang
+++ b/config-models/aether-4.x/files/yang/onf-vcs.yang
@@ -29,6 +29,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
+    description "The typedef for vcs-id";
   }
 
   container vcs {
@@ -132,9 +133,9 @@
         type leafref {
           path "/st:site/st:site/st:id";
         }
+	mandatory true;
         description
           "Link to site where this VCS is deployed";
-        mandatory true;
       }
 
       // the following are populated from the template
diff --git a/config-models/plproxy-1.x/Chart.yaml b/config-models/plproxy-1.x/Chart.yaml
index b0d52ae..ac62ff5 100755
--- a/config-models/plproxy-1.x/Chart.yaml
+++ b/config-models/plproxy-1.x/Chart.yaml
@@ -4,7 +4,7 @@
 
 apiVersion: v2
 name: config-model-plproxy
-version: 1.0.0
+version: 1.0.1
 kubeVersion: ">=1.18.0"
 appVersion: 1.0.0
 description: Prom label proxy config model
diff --git a/config-models/plproxy-1.x/files/yang/prom-label-proxy.yang b/config-models/plproxy-1.x/files/yang/prom-label-proxy.yang
index 294b5de..abc5c66 100755
--- a/config-models/plproxy-1.x/files/yang/prom-label-proxy.yang
+++ b/config-models/plproxy-1.x/files/yang/prom-label-proxy.yang
@@ -5,6 +5,7 @@
 module prom-label-proxy {
   namespace "http://opennetworking.org/promlabelproxy/config/";
   prefix plp;
+
   organization "Open Networking Foundation.";
   contact "Amit Wankhede";
   description "A Aether groups and prom label configuration";
