diff --git a/models/tapi/src/main/yang/tapi-topology@2018-03-07.yang b/models/tapi/src/main/yang/tapi-topology@2018-03-07.yang
index db6cabc..ce4ae27 100644
--- a/models/tapi/src/main/yang/tapi-topology@2018-03-07.yang
+++ b/models/tapi/src/main/yang/tapi-topology@2018-03-07.yang
@@ -5,10 +5,10 @@
         prefix tapi-common;
     }
     organization "ONF OTCC (Open Transport Configuration & Control) Project";
-    contact "
-        Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
-        Project List: <mailto:transport-api@opennetworking.org>
-        Editor: Karthik Sethuraman
+    contact "
+        Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
+        Project List: <mailto:transport-api@opennetworking.org>
+        Editor: Karthik Sethuraman
                 <mailto:karthik.sethuraman@necam.com>";
     description "
         This module contains TAPI Topology Model definitions.
@@ -16,11 +16,11 @@
         Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
         License: This module is distributed under the Apache License 2.0";
     revision 2018-03-07 {
-        description "ONF Transport API version 2.0.2
-        This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool version .
-        <https://wiki.opennetworking.org/display/OIMT/IISOMI>
+        description "ONF Transport API version 2.0.2
+        This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool version .
+        <https://wiki.opennetworking.org/display/OIMT/IISOMI>
         Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/change-log.md>";
-        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
+        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
                   <https://github.com/OpenNetworkingFoundation/TAPI/tree/develop/UML>";
     }
     augment "/tapi-common:context" {
@@ -37,7 +37,9 @@
             type leafref {
                 path '/tapi-common:context/tapi-topology:topology/tapi-topology:uuid';
             }
+            description "none";
         }
+        description "none";
     }
 
     grouping link-ref {
@@ -46,7 +48,9 @@
             type leafref {
                 path '/tapi-common:context/tapi-topology:topology/tapi-topology:link/tapi-topology:uuid';
             }
+            description "none";
         }
+        description "none";
     }
 
     grouping node-ref {
@@ -55,7 +59,9 @@
             type leafref {
                 path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:uuid';
             }
+            description "none";
         }
+        description "none";
     }
 
     grouping owned-node-edge-point-ref {
@@ -64,7 +70,9 @@
             type leafref {
                 path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-topology:uuid';
             }
+            description "none";
         }
+        description "none";
     }
 
     grouping node-rule-group-ref {
@@ -73,12 +81,14 @@
             type leafref {
                 path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:node-rule-group/tapi-topology:uuid';
             }
+            description "none";
         }
+        description "none";
     }
 
     /***********************
     * package object-classes
-    **********************/
+    **********************/ 
         grouping link {
             list node-edge-point {
                 uses owned-node-edge-point-ref;
@@ -96,8 +106,8 @@
             leaf direction {
                 type tapi-common:forwarding-direction;
                 config false;
-                description "The directionality of the Link.
-                    Is applicable to simple Links where all LinkEnds are BIDIRECTIONAL (the Link will be BIDIRECTIONAL) or UNIDIRECTIONAL (the Link will be UNIDIRECTIONAL).
+                description "The directionality of the Link. 
+                    Is applicable to simple Links where all LinkEnds are BIDIRECTIONAL (the Link will be BIDIRECTIONAL) or UNIDIRECTIONAL (the Link will be UNIDIRECTIONAL). 
                     Is not present in more complex cases.";
             }
             container resilience-type {
@@ -122,10 +132,9 @@
                 uses node-edge-point;
                 description "none";
             }
-            leaf-list aggregated-node-edge-point {
-                type leafref {
-                    path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-topology:uuid';
-                }
+            list aggregated-node-edge-point {
+            	uses owned-node-edge-point-ref;
+                key 'topology-id node-id owned-node-edge-point-id';
                 config false;
                 description "none";
             }
@@ -151,7 +160,7 @@
             uses transfer-cost-pac;
             uses transfer-integrity-pac;
             uses transfer-timing-pac;
-            description "The ForwardingDomain (FD) object class models the “ForwardingDomain” topological component which is used to effect forwarding of transport characteristic information and offers the potential to enable forwarding.
+            description "The ForwardingDomain (FD) object class models the ForwardingDomain topological component which is used to effect forwarding of transport characteristic information and offers the potential to enable forwarding. 
                 At the lowest level of recursion, an FD (within a network element (NE)) represents a switch matrix (i.e., a fabric). Note that an NE can encompass multiple switch matrices (FDs). ";
         }
         grouping topology {
@@ -174,7 +183,7 @@
                 description "none";
             }
             uses tapi-common:resource-spec;
-            description "The ForwardingDomain (FD) object class models the “ForwardingDomain” topological component which is used to effect forwarding of transport characteristic information and offers the potential to enable forwarding.
+            description "The ForwardingDomain (FD) object class models the ForwardingDomain topological component which is used to effect forwarding of transport characteristic information and offers the potential to enable forwarding. 
                 At the lowest level of recursion, an FD (within a network element (NE)) represents a switch matrix (i.e., a fabric). Note that an NE can encompass multiple switch matrices (FDs). ";
         }
         grouping layer-protocol-transition-pac {
@@ -183,8 +192,8 @@
                 min-elements 2;
                 description "Provides the ordered structure of layer protocol transitions encapsulated in the TopologicalEntity. The ordering relates to the LinkPort role.";
             }
-            description "Relevant for a Link that is formed by abstracting one or more LTPs (in a stack) to focus on the flow and deemphasize the protocol transformation.
-                This abstraction is relevant when considering multi-layer routing.
+            description "Relevant for a Link that is formed by abstracting one or more LTPs (in a stack) to focus on the flow and deemphasize the protocol transformation. 
+                This abstraction is relevant when considering multi-layer routing. 
                 The layer protocols of the LTP and the order of their application to the signal is still relevant and need to be accounted for. This is derived from the LTP spec details.
                 This Pac provides the relevant abstractions of the LTPs and provides the necessary association to the LTPs involved.
                 Links that included details in this Pac are often referred to as Transitional Links.";
@@ -195,10 +204,9 @@
                 config false;
                 description "none";
             }
-            leaf-list aggregated-node-edge-point {
-                type leafref {
-                    path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-topology:uuid';
-                }
+            list aggregated-node-edge-point {
+            	uses owned-node-edge-point-ref;
+                key 'topology-id node-id owned-node-edge-point-id';
                 config false;
                 description "none";
             }
@@ -222,7 +230,7 @@
             uses tapi-common:admin-state-pac;
             uses tapi-common:termination-pac;
             uses tapi-common:capacity-pac;
-            description "The LogicalTerminationPoint (LTP) object class encapsulates the termination and adaptation functions of one or more transport layers.
+            description "The LogicalTerminationPoint (LTP) object class encapsulates the termination and adaptation functions of one or more transport layers. 
                 The structure of LTP supports all transport protocols including circuit and packet forms.";
         }
         grouping risk-parameter-pac {
@@ -233,7 +241,7 @@
                 uses risk-characteristic;
                 description "A list of risk characteristics for consideration in an analysis of shared risk. Each element of the list represents a specific risk consideration.";
             }
-            description "The risk characteristics of a TopologicalEntity come directly from the underlying physical realization.
+            description "The risk characteristics of a TopologicalEntity come directly from the underlying physical realization. 
                 The risk characteristics propagate from the physical realization to the client and from the server layer to the client layer, this propagation may be modified by protection.
                 A TopologicalEntity may suffer degradation or failure as a result of a problem in a part of the underlying realization.
                 The realization can be partitioned into segments which have some relevant common failure modes.
@@ -254,16 +262,16 @@
                 uses cost-characteristic;
                 description "The list of costs where each cost relates to some aspect of the TopologicalEntity.";
             }
-            description "The cost characteristics of a TopologicalEntity not necessarily correlated to the cost of the underlying physical realization.
+            description "The cost characteristics of a TopologicalEntity not necessarily correlated to the cost of the underlying physical realization. 
                 They may be quite specific to the individual TopologicalEntity e.g. opportunity cost. Relates to layer capacity
-                There may be many perspectives from which cost may be considered  for a particular TopologicalEntity and hence many specific costs and potentially cost algorithms.
+                There may be many perspectives from which cost may be considered  for a particular TopologicalEntity and hence many specific costs and potentially cost algorithms. 
                 Using an entity will incur a cost. ";
         }
         grouping transfer-integrity-pac {
             leaf error-characteristic {
                 type string;
                 config false;
-                description "Describes the degree to which the signal propagated can be errored.
+                description "Describes the degree to which the signal propagated can be errored. 
                     Applies to TDM systems as the errored signal will be propagated and not packet as errored packets will be discarded.";
             }
             leaf loss-characteristic {
@@ -275,7 +283,7 @@
             leaf repeat-delivery-characteristic {
                 type string;
                 config false;
-                description "Primarily applies to packet systems where a packet may be delivered more than once (in fault recovery for example).
+                description "Primarily applies to packet systems where a packet may be delivered more than once (in fault recovery for example). 
                     It can also apply to TDM where several frames may be received twice due to switching in a system with a large differential propagation delay.";
             }
             leaf delivery-order-characteristic {
@@ -319,10 +327,9 @@
             description "Validation covers the various adjacenct discovery and reachability verification protocols. Also may cover Information source and degree of integrity.";
         }
         grouping network-topology-service {
-            leaf-list topology {
-                type leafref {
-                    path '/tapi-common:context/tapi-topology:topology/tapi-topology:uuid';
-                }
+            list topology {
+                uses topology-ref;
+                key 'topology-id';
                 config false;
                 description "none";
             }
@@ -370,10 +377,9 @@
                 uses rule;
                 description "none";
             }
-            leaf-list node-edge-point {
-                type leafref {
-                    path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-topology:uuid';
-                }
+            list node-edge-point {
+            	uses owned-node-edge-point-ref;
+                key 'topology-id node-id owned-node-edge-point-id';
                 min-elements 1;
                 description "none";
             }
