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 9d0bc6c..7c61fd5 100755
--- a/config-models/aether-4.x/files/yang/onf-application.yang
+++ b/config-models/aether-4.x/files/yang/onf-application.yang
@@ -14,7 +14,7 @@
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "An Aether Application is an application that devices may
      connect to. Includes a set of endpoints where services are
      provided.";
@@ -63,11 +63,11 @@
       }
 
       list endpoint {
-        key "name";
-        leaf name {
-          type string;
+        key "id";
+        leaf id {
+          type yg:yang-identifier;
           description
-              "Name of this endpoint";
+              "Id of this endpoint";
         }
         leaf port-start {
           type ietf:port-number;
@@ -106,6 +106,12 @@
           description
             "Link to traffic class";
         }
+        leaf display-name {
+          type string {
+              length 1..80;
+          }
+          description "display name to use in GUI or CLI";
+        }
       }
 
       leaf enterprise {
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 12d89c7..db8a18a 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
@@ -14,7 +14,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),
@@ -34,7 +34,7 @@
         type yg:yang-identifier {
             length 1..32;
         }
-  }  
+  }
 
   container device-group {
     description "The top level container";
@@ -59,13 +59,15 @@
             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;
+        key "id";
+        leaf id {
+          type yg:yang-identifier;
+          description
+              "Id of this imsi-range";
         }
         leaf imsi-range-from {
           type uint64;
@@ -73,6 +75,12 @@
         leaf imsi-range-to {
           type uint64;
         }
+        leaf display-name {
+          type string {
+              length 1..80;
+          }
+          description "display name to use in GUI or CLI";
+        }
         description
           "List of imsi ranges that comprise this group. It's acceptable for
            a range to degenerate to being a singleton";
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 e7b3fda..96b99a7 100755
--- a/config-models/aether-4.x/files/yang/onf-site.yang
+++ b/config-models/aether-4.x/files/yang/onf-site.yang
@@ -7,13 +7,13 @@
   prefix st;
 
   import ietf-inet-types { prefix inet; }
-  import ietf-yang-types{ prefix yg; }  
+  import ietf-yang-types{ prefix yg; }
   import onf-aether-types{ prefix at; }
-  import onf-enterprise{ prefix ent; }  
+  import onf-enterprise{ prefix ent; }
 
   organization "Open Networking Foundation.";
   contact "Scott Baker";
-  description 
+  description
     "An Aether site is a location where resources are deployed.";
 
   revision "2021-09-10" {
@@ -48,12 +48,12 @@
       }
 
       list small-cell {
-        key "name";
-        leaf name {
+        key "id";
+        leaf id {
           type yg:yang-identifier;
           description
-            "Name of small cell";
-        }        
+            "Id of small cell";
+        }
         leaf address {
           type inet:host;
           description
@@ -64,16 +64,22 @@
           mandatory true;
           description
               "Type Allocation Code";
-        }        
+        }
         leaf enable {
           type boolean;
           default true;
           description
             "Enable this small cell";
         }
+        leaf display-name {
+          type string {
+              length 1..80;
+          }
+          description "display name to use in GUI or CLI";
+        }
         description
           "List of small cell addresses";
-      } 
+      }
 
       container monitoring {
         leaf edge-cluster-prometheus-url {
@@ -85,21 +91,19 @@
           type inet:uri;
           description
             "URL of monitoring prometheus";
-        }        
+        }
         list edge-device {
-          key "name";
-          leaf name {
-            type string {
-              length 1..80;
-            }
+          key "id";
+          leaf id {
+            type yg:yang-identifier;
             description
-              "Name of edge monitoring device";
+              "Id of edge monitoring device";
           }
           leaf display-name {
             type string {
                 length 1..80;
             }
-            description "display name to use in GUI or CLI";            
+            description "display name to use in GUI or CLI";
           }
           leaf description {
             type at:description;
@@ -113,10 +117,10 @@
       leaf enterprise {
         type leafref {
           path "/ent:enterprise/ent:enterprise/ent:id";
-        }              
+        }
         description
           "Link to enterprise that owns this site";
-        mandatory true;          
+        mandatory true;
       }
 
       container imsi-definition {
@@ -158,7 +162,7 @@
       leaf description {
         type at:description;
         description "description of this site";
-      }         
+      }
     }
-  } 
+  }
 }
