diff --git a/models/tapi/src/main/yang/tapi-common@2017-05-31.yang b/models/tapi/src/main/yang/tapi-common@2017-05-31.yang
index fa7145e..b52896e 100644
--- a/models/tapi/src/main/yang/tapi-common@2017-05-31.yang
+++ b/models/tapi/src/main/yang/tapi-common@2017-05-31.yang
@@ -47,27 +47,6 @@
             }
             description "The TAPI GlobalComponent serves as the super class for all TAPI entities that can be directly retrieved by their ID. As such, these are first class entities and their ID is expected to be globally unique. ";
         }
-        grouping layer-protocol {
-            leaf layer-protocol-name {
-                type layer-protocol-name;
-                description "Indicate the specific layer-protocol described by the LayerProtocol entity.";
-            }
-            leaf termination-direction {
-                type termination-direction;
-                description "The overall directionality of the LP. 
-                    - A BIDIRECTIONAL LP will have some SINK and/or SOURCE flowss.
-                    - A SINK LP can only contain elements with SINK flows or CONTRA_DIRECTION_SOURCE flows
-                    - A SOURCE LP can only contain SOURCE flows or CONTRA_DIRECTION_SINK flows";
-            }
-            leaf termination-state {
-                type termination-state;
-                description "Indicates whether the layer is terminated and if so how.";
-            }
-            uses local-class;
-            description "Each transport layer is represented by a LayerProtocol (LP) instance. The LayerProtocol instances it can be used for controlling termination and monitoring functionality. 
-                It can also be used for controlling the adaptation (i.e. encapsulation and/or multiplexing of client signal), tandem connection monitoring, traffic conditioning and/or shaping functionality at an intermediate point along a connection. 
-                Where the client – server relationship is fixed 1:1 and immutable, the layers can be encapsulated in a single LTP instance. Where the is a n:1 relationship between client and server, the layers must be split over two separate instances of LTP. ";
-        }
         grouping lifecycle-state-pac {
             leaf lifecycle-state {
                 type lifecycle-state;
@@ -125,21 +104,15 @@
             description "none";
         }
         grouping service-interface-point {
-            list layer-protocol {
-                key 'local-id';
+            leaf-list layer-protocol-name {
+                type layer-protocol-name;
+                config false;
                 min-elements 1;
-                uses layer-protocol;
-                description "Usage of layerProtocol [>1]  in the ServiceInterfacePoint should be considered experimental";
-            }
-            container state {
-                uses admin-state-pac;
-                description "none";
-            }
-            container capacity {
-                uses capacity-pac;
-                description "none";
+                description "Usage of layerProtocolName [>1]  in the ServiceInterfacePoint should be considered experimental";
             }
             uses resource-spec;
+            uses tapi-common:admin-state-pac;
+            uses tapi-common:capacity-pac;
             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.";
         }
@@ -161,39 +134,34 @@
                 Represents the capacity available to user (client) along with client interaction and usage. 
                 A TopologicalEntity may reflect one or more client protocols and one or more members for each profile.";
         }
+        grouping termination-pac {
+            leaf termination-direction {
+                type termination-direction;
+                config false;
+                description "The overall directionality of the LP. 
+                    - A BIDIRECTIONAL LP will have some SINK and/or SOURCE flowss.
+                    - A SINK LP can only contain elements with SINK flows or CONTRA_DIRECTION_SOURCE flows
+                    - A SOURCE LP can only contain SOURCE flows or CONTRA_DIRECTION_SINK flows";
+            }
+            leaf termination-state {
+                type termination-state;
+                config false;
+                description "Indicates whether the layer is terminated and if so how.";
+            }
+            description "Each transport layer is represented by a LayerProtocol (LP) instance. The LayerProtocol instances it can be used for controlling termination and monitoring functionality. 
+                It can also be used for controlling the adaptation (i.e. encapsulation and/or multiplexing of client signal), tandem connection monitoring, traffic conditioning and/or shaping functionality at an intermediate point along a connection. 
+                Where the client – server relationship is fixed 1:1 and immutable, the layers can be encapsulated in a single LTP instance. Where the is a n:1 relationship between client and server, the layers must be split over two separate instances of LTP. ";
+        }
 
     /***********************
     * package type-definitions
     **********************/ 
-        identity layer-protocol-name {
-            description "none";
-        }
-        identity otsi-a {
-            base layer-protocol-name;
-            description "none";
-        }
-        identity otu {
-            base layer-protocol-name;
-            description "none";
-        }
-        identity odu {
-            base layer-protocol-name;
-            description "none";
-        }
-        identity eth {
-            base layer-protocol-name;
-            description "none";
-        }
-        identity ety {
-            base layer-protocol-name;
-            description "none";
-        }
         typedef administrative-state {
             type enumeration {
-                enum locked {
+                enum LOCKED {
                     description "Users are administratively prohibited from making use of the resource.";
                 }
-                enum unlocked {
+                enum UNLOCKED {
                     description "Users are allowed to use the resource";
                 }
             }
@@ -217,19 +185,19 @@
         }
         typedef directive-value {
             type enumeration {
-                enum minimize {
+                enum MINIMIZE {
                     description "none";
                 }
-                enum maximize {
+                enum MAXIMIZE {
                     description "none";
                 }
-                enum allow {
+                enum ALLOW {
                     description "none";
                 }
-                enum disallow {
+                enum DISALLOW {
                     description "none";
                 }
-                enum dont-care {
+                enum DONT_CARE {
                     description "none";
                 }
             }
@@ -237,21 +205,38 @@
         }
         typedef forwarding-direction {
             type enumeration {
-                enum bidirectional {
+                enum BIDIRECTIONAL {
                     description "The Fowarding entity supports both BIDIRECTIONAL flows at all Ports (i.e. all Ports have both an INPUT flow and an OUTPUT flow defined)";
                 }
-                enum unidirectional {
+                enum UNIDIRECTIONAL {
                     description "The Forwarding entity has Ports that are either INPUT or OUTPUT. It has no BIDIRECTIONAL Ports.";
                 }
-                enum undefined-or-unknown {
+                enum UNDEFINED_OR_UNKNOWN {
                     description "Not a normal state. The system is unable to determine the correct value.";
                 }
             }
             description "The directionality of a Forwarding entity.";
         }
         typedef layer-protocol-name {
-            type identityref {
-                base layer-protocol-name;
+            type enumeration {
+                enum OTSiA {
+                    description "Models the OTSiA layer as per ITU-T G.872 (2017) version 4";
+                }
+                enum OCH {
+                    description "Models the legacy OCH layer as per ITU-T G.872";
+                }
+                enum OTU {
+                    description "Models the OTU layer as per ITU-T G.872";
+                }
+                enum ODU {
+                    description "Models the ODU layer as per ITU-T G.872";
+                }
+                enum ETH {
+                    description "Models the ETH layer as per ITU-T G.8010";
+                }
+                enum ETY {
+                    description "Models the ETY layer as per ITU-T G.8010";
+                }
             }
             description "Provides a controlled list of layer protocol names and indicates the naming authority.
                 Note that it is expected that attributes will be added to this structure to convey the naming authority name, the name of the layer protocol using a human readable string and any particular standard reference.
@@ -262,18 +247,23 @@
         }
         typedef lifecycle-state {
             type enumeration {
-                enum planned {
+                enum PLANNED {
                     description "The resource is planned but is not present in the network.";
                 }
-                enum potential {
+                enum POTENTIAL_AVAILABLE {
                     description "The supporting resources are present in the network but are shared with other clients; or require further configuration before they can be used; or both.
                         o    When a potential resource is configured and allocated to a client it is moved to the “installed” state for that client.
                         o    If the potential resource has been consumed (e.g. allocated to another client) it is moved to the “planned” state for all other clients.";
                 }
-                enum installed {
+                enum POTENTIAL_BUSY {
+                    description "The supporting resources are present in the network but are shared with other clients; or require further configuration before they can be used; or both.
+                        o    When a potential resource is configured and allocated to a client it is moved to the “installed” state for that client.
+                        o    If the potential resource has been consumed (e.g. allocated to another client) it is moved to the “planned” state for all other clients.";
+                }
+                enum INSTALLED {
                     description "The resource is present in the network and is capable of providing the service expected.";
                 }
-                enum pending-removal {
+                enum PENDING_REMOVAL {
                     description "The resource has been marked for removal";
                 }
             }
@@ -292,10 +282,10 @@
         }
         typedef operational-state {
             type enumeration {
-                enum disabled {
+                enum DISABLED {
                     description "The resource is unable to meet the SLA of the user of the resource. If no (explicit) SLA is defined the resource is disabled if it is totally inoperable and unable to provide service to the user.";
                 }
-                enum enabled {
+                enum ENABLED {
                     description "The resource is partially or fully operable and available for use";
                 }
             }
@@ -303,16 +293,16 @@
         }
         typedef port-direction {
             type enumeration {
-                enum bidirectional {
+                enum BIDIRECTIONAL {
                     description "The Port has both an INPUT flow and an OUTPUT flow defined.";
                 }
-                enum input {
+                enum INPUT {
                     description "The Port only has definition for a flow into the Forwarding entity (i.e. an ingress flow).";
                 }
-                enum output {
+                enum OUTPUT {
                     description "The Port only has definition for a flow out of the Forwarding entity (i.e. an egress flow).";
                 }
-                enum unidentified-or-unknown {
+                enum UNIDENTIFIED_OR_UNKNOWN {
                     description "Not a normal state. The system is unable to determine the correct value.";
                 }
             }
@@ -320,19 +310,19 @@
         }
         typedef port-role {
             type enumeration {
-                enum symmetric {
+                enum SYMMETRIC {
                     description "none";
                 }
-                enum root {
+                enum ROOT {
                     description "none";
                 }
-                enum leaf {
+                enum LEAF {
                     description "none";
                 }
-                enum trunk {
+                enum TRUNK {
                     description "none";
                 }
-                enum unknown {
+                enum UNKNOWN {
                     description "none";
                 }
             }
@@ -340,10 +330,10 @@
         }
         typedef termination-direction {
             type enumeration {
-                enum bidirectional {
+                enum BIDIRECTIONAL {
                     description "A Termination with both SINK and SOURCE flows.";
                 }
-                enum sink {
+                enum SINK {
                     description "The flow is up the layer stack from the server side to the client side. 
                         Considering an example of a Termination function within the termination entity, a SINK flow:
                         - will arrive at at the base of the termination function (the server side) where it is essentially at an INPUT to the termination component
@@ -352,7 +342,7 @@
                         A SINK termination is one that only supports a SINK flow.
                         A SINK termiation can be bound to an OUTPUT Port of a Forwarding entity";
                 }
-                enum source {
+                enum SOURCE {
                     description "The flow is down the layer stack from the server side to the client side. 
                         Considering an example of a Termination function within the termination entity, a SOURCE flow:
                         - will arrive at at the top of the termination function (the client side) where it is essentially at an INPUT to the termination component
@@ -361,7 +351,7 @@
                         A SOURCE termination is one that only supports a SOURCE flow.
                         A SOURCE termiation can be bound to an INPUT Port of a Forwarding entity";
                 }
-                enum undefined-or-unknown {
+                enum UNDEFINED_OR_UNKNOWN {
                     description "Not a normal state. The system is unable to determine the correct value.";
                 }
             }
@@ -369,25 +359,25 @@
         }
         typedef termination-state {
             type enumeration {
-                enum lp-can-never-terminate {
+                enum LP_CAN_NEVER_TERMINATE {
                     description "A non-flexible case that can never be terminated.";
                 }
-                enum lt-not-terminated {
+                enum LT_NOT_TERMINATED {
                     description "A flexible termination that can terminate but is currently not terminated.";
                 }
-                enum terminated-server-to-client-flow {
+                enum TERMINATED_SERVER_TO_CLIENT_FLOW {
                     description "A flexible termination that is currently terminated for server to client flow only.";
                 }
-                enum terminated-client-to-server-flow {
+                enum TERMINATED_CLIENT_TO_SERVER_FLOW {
                     description "A flexible termination that is currently terminated for client to server flow only.";
                 }
-                enum terminated-bidirectional {
+                enum TERMINATED_BIDIRECTIONAL {
                     description "A flexible termination that is currently terminated in both directions of flow.";
                 }
-                enum lt-permenantly-terminated {
+                enum LT_PERMENANTLY_TERMINATED {
                     description "A non-flexible termination that is always terminated (in both directions of flow for a bidirectional case and in the one direction of flow for both unidirectional cases).";
                 }
-                enum termination-state-unknown {
+                enum TERMINATION_STATE_UNKNOWN {
                     description "There TerminationState cannot be determined.";
                 }
             }
@@ -456,13 +446,28 @@
         }
         typedef capacity-unit {
             type enumeration {
-                enum gbps {
+                enum TB {
+                    description "Indicates that the integer CapacityValue is in TeraBytes";
+                }
+                enum TBPS {
+                    description "Indicates that the integer CapacityValue is in Terabit-per-second";
+                }
+                enum GB {
+                    description "Indicates that the integer CapacityValue is in GigaBytes";
+                }
+                enum GBPS {
                     description "Indicates that the integer CapacityValue is in Gigabit-per-second";
                 }
-                enum mbps {
+                enum MB {
+                    description "Indicates that the integer CapacityValue is in MegaBytes";
+                }
+                enum MBPS {
                     description "Indicates that the integer CapacityValue is in Megabit-per-second";
                 }
-                enum kbps {
+                enum KB {
+                    description "Indicates that the integer CapacityValue is in KiloBytes";
+                }
+                enum KBPS {
                     description "Indicates that the integer CapacityValue is in Kilobit-per-second";
                 }
             }
@@ -470,16 +475,16 @@
         }
         typedef bandwidth-profile-type {
             type enumeration {
-                enum mef-10.x {
+                enum MEF_10.x {
                     description "none";
                 }
-                enum rfc-2697 {
+                enum RFC_2697 {
                     description "none";
                 }
-                enum rfc-2698 {
+                enum RFC_2698 {
                     description "none";
                 }
-                enum rfc-4115 {
+                enum RFC_4115 {
                     description "none";
                 }
             }
diff --git a/models/tapi/src/main/yang/tapi-connectivity@2017-05-31.yang b/models/tapi/src/main/yang/tapi-connectivity@2017-05-31.yang
index 3957f0d..8f223d0 100644
--- a/models/tapi/src/main/yang/tapi-connectivity@2017-05-31.yang
+++ b/models/tapi/src/main/yang/tapi-connectivity@2017-05-31.yang
@@ -50,19 +50,6 @@
                     Connection aggregation reflects Node/Topology aggregation. 
                     The FC represents a Cross-Connection in an NE. The Cross-Connection in an NE is not necessarily the lowest level of FC partitioning.";
             }
-            leaf-list supported-link {
-                type leafref {
-                    path '/tapi-common:context/tapi-topology:topology/tapi-topology:link/tapi-topology:uuid';
-                }
-                description "An Connection that spans between CEPs that terminate the LayerProtocol usually supports one or more links in the client layer.";
-            }
-            leaf container-node {
-                type leafref {
-                    path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:uuid';
-                }
-                config false;
-                description "none";
-            }
             list route {
                 key 'local-id';
                 config false;
@@ -75,11 +62,6 @@
                 uses switch-control;
                 description "none";
             }
-            container state {
-                config false;
-                uses tapi-common:operational-state-pac;
-                description "none";
-            }
             leaf direction {
                 type tapi-common:forwarding-direction;
                 config false;
@@ -91,15 +73,28 @@
                 description "none";
             }
             uses tapi-common:resource-spec;
+            uses tapi-common:operational-state-pac;
             description "The ForwardingConstruct (FC) object class models enabled potential for forwarding between two or more LTPs and like the LTP supports any transport protocol including all circuit and packet forms.
                 At the lowest level of recursion, a FC represents a cross-connection within an NE.";
         }
         grouping connection-end-point {
-            list layer-protocol {
-                key 'local-id';
+            leaf layer-protocol-name {
+                type tapi-common:layer-protocol-name;
+                config false;
+                description "none";
+            }
+            leaf connectivity-service-end-point {
+                type leafref {
+                    path '/tapi-common:context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point/tapi-connectivity:local-id';
+                }
+                description "none";
+            }
+            leaf-list parent-node-edge-point {
+                type leafref {
+                    path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-topology:uuid';
+                }
                 config false;
                 min-elements 1;
-                uses tapi-common:layer-protocol;
                 description "none";
             }
             leaf-list client-node-edge-point {
@@ -109,31 +104,6 @@
                 config false;
                 description "none";
             }
-            leaf server-node-edge-point {
-                type leafref {
-                    path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-topology:uuid';
-                }
-                config false;
-                description "none";
-            }
-            leaf peer-connection-end-point {
-                type leafref {
-                    path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point/tapi-connectivity:uuid';
-                }
-                config false;
-                description "none";
-            }
-            leaf-list associated-route {
-                type leafref {
-                    path '/tapi-common:context/tapi-connectivity:connection/tapi-connectivity:route/tapi-connectivity:local-id';
-                }
-                description "none";
-            }
-            container state {
-                config false;
-                uses tapi-common:operational-state-pac;
-                description "none";
-            }
             leaf connection-port-direction {
                 type tapi-common:port-direction;
                 config false;
@@ -145,6 +115,8 @@
                 description "Each EP of the FC has a role (e.g., working, protection, protected, symmetric, hub, spoke, leaf, root)  in the context of the FC with respect to the FC function. ";
             }
             uses tapi-common:resource-spec;
+            uses tapi-common:operational-state-pac;
+            uses tapi-common:termination-pac;
             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.";
         }
@@ -185,10 +157,6 @@
                 uses tapi-topology:latency-characteristic;
                 description "The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic.";
             }
-            container route-compute-policy {
-                uses route-compute-policy;
-                description "none";
-            }
             leaf coroute-inclusion {
                 type leafref {
                     path '/tapi-common:context/tapi-connectivity:connectivity-service/tapi-connectivity:uuid';
@@ -203,7 +171,7 @@
                 config false;
                 description "none";
             }
-            uses tapi-common:local-class;
+            uses tapi-connectivity:route-compute-policy;
             description "none";
         }
         grouping connectivity-service {
@@ -220,18 +188,6 @@
                 config false;
                 description "none";
             }
-            container conn-constraint {
-                uses connectivity-constraint;
-                description "none";
-            }
-            container topo-constraint {
-                uses topology-constraint;
-                description "none";
-            }
-            container state {
-                uses tapi-common:admin-state-pac;
-                description "none";
-            }
             leaf direction {
                 type tapi-common:forwarding-direction;
                 description "none";
@@ -240,39 +196,25 @@
                 type tapi-common:layer-protocol-name;
                 description "none";
             }
-            list resilience-constraint {
-                key 'local-id';
-                uses resilience-constraint;
-                description "none";
-            }
             uses tapi-common:service-spec;
+            uses tapi-connectivity:connectivity-constraint;
+            uses tapi-connectivity:topology-constraint;
+            uses tapi-common:admin-state-pac;
+            uses tapi-connectivity:resilience-constraint;
             description "The ForwardingConstruct (FC) object class models enabled potential for forwarding between two or more LTPs and like the LTP supports any transport protocol including all circuit and packet forms.
                 At the lowest level of recursion, a FC represents a cross-connection within an NE.";
         }
         grouping connectivity-service-end-point {
+            leaf layer-protocol-name {
+                type tapi-common:layer-protocol-name;
+                description "none";
+            }
             leaf service-interface-point {
                 type leafref {
                     path '/tapi-common:context/tapi-common:service-interface-point/tapi-common:uuid';
                 }
                 description "none";
             }
-            leaf-list connection-end-point {
-                type leafref {
-                    path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point/tapi-connectivity:uuid';
-                }
-                config false;
-                description "none";
-            }
-            list layer-protocol {
-                key 'local-id';
-                min-elements 1;
-                uses tapi-common:layer-protocol;
-                description "none";
-            }
-            container state {
-                uses tapi-common:admin-state-pac;
-                description "none";
-            }
             container capacity {
                 uses tapi-common:capacity-pac;
                 description "none";
@@ -290,6 +232,7 @@
                 description "To specify the protection role of this Port when create or update ConnectivityService.";
             }
             uses tapi-common:local-class;
+            uses tapi-common:admin-state-pac;
             description "The association of the FC to LTPs is made via EndPoints.
                 The EndPoint (EP) object class models the access to the FC function. 
                 The traffic forwarding between the associated EPs of the FC depends upon the type of FC and may be associated with FcSwitch object instances.  
@@ -380,11 +323,8 @@
                 uses switch;
                 description "none";
             }
-            container control-parameters {
-                uses resilience-constraint;
-                description "none";
-            }
             uses tapi-common:local-class;
+            uses tapi-connectivity:resilience-constraint;
             description "Represents the capability to control and coordinate switches, to add/delete/modify FCs and to add/delete/modify LTPs/LPs so as to realize a protection scheme.";
         }
         grouping resilience-constraint {
@@ -438,7 +378,6 @@
                 type tapi-common:layer-protocol-name;
                 description "Indicate which layer this resilience parameters package configured for.";
             }
-            uses tapi-common:local-class;
             description "A list of control parameters to apply to a switch.";
         }
         grouping topology-constraint {
@@ -503,7 +442,6 @@
                 config false;
                 description "soft constraint requested by client to indicate the layer(s) of transport connection that it prefers to carry the service. This could be same as the service layer or one of the supported server layers";
             }
-            uses tapi-common:local-class;
             description "none";
         }
         grouping cep-list {
@@ -531,16 +469,16 @@
     **********************/ 
         typedef service-type {
             type enumeration {
-                enum point-to-point-connectivity {
+                enum POINT_TO_POINT_CONNECTIVITY {
                     description "none";
                 }
-                enum point-to-multipoint-connectivity {
+                enum POINT_TO_MULTIPOINT_CONNECTIVITY {
                     description "none";
                 }
-                enum multipoint-connectivity {
+                enum MULTIPOINT_CONNECTIVITY {
                     description "none";
                 }
-                enum rooted-multipoint-connectivity {
+                enum ROOTED_MULTIPOINT_CONNECTIVITY {
                     description "none";
                 }
             }
@@ -548,10 +486,10 @@
         }
         typedef reversion-mode {
             type enumeration {
-                enum revertive {
+                enum REVERTIVE {
                     description "An FC switched to a lower priority (non-preferred) resource will revert to a higher priority (preferred) resource when that recovers (potentially after some hold-off time).";
                 }
-                enum non-revertive {
+                enum NON-REVERTIVE {
                     description "An FC switched to a lower priority (non-preferred) resource will not revert to a higher priority (preferred) resource when that recovers.";
                 }
             }
@@ -559,19 +497,19 @@
         }
         typedef selection-control {
             type enumeration {
-                enum lock-out {
+                enum LOCK_OUT {
                     description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.
                         This overrides all other protection control states including forced.
                         If the item is locked out then it cannot be used under any circumstances.
                         Note: Only relevant when part of a protection scheme.";
                 }
-                enum normal {
+                enum NORMAL {
                     description "none";
                 }
-                enum manual {
+                enum MANUAL {
                     description "none";
                 }
-                enum forced {
+                enum FORCED {
                     description "none";
                 }
             }
@@ -579,25 +517,25 @@
         }
         typedef selection-reason {
             type enumeration {
-                enum lockout {
+                enum LOCKOUT {
                     description "none";
                 }
-                enum normal {
+                enum NORMAL {
                     description "none";
                 }
-                enum manual {
+                enum MANUAL {
                     description "none";
                 }
-                enum forced {
+                enum FORCED {
                     description "none";
                 }
-                enum wait-to-revert {
+                enum WAIT_TO_REVERT {
                     description "none";
                 }
-                enum signal-degrade {
+                enum SIGNAL_DEGRADE {
                     description "none";
                 }
-                enum signal-fail {
+                enum SIGNAL_FAIL {
                     description "none";
                 }
             }
@@ -605,13 +543,13 @@
         }
         typedef coordinate-type {
             type enumeration {
-                enum no-coordinate {
+                enum NO_COORDINATE {
                     description "none";
                 }
-                enum hold-off-time {
+                enum HOLD_OFF_TIME {
                     description "none";
                 }
-                enum wait-for-notification {
+                enum WAIT_FOR_NOTIFICATION {
                     description "none";
                 }
             }
@@ -619,25 +557,25 @@
         }
         typedef route-objective-function {
             type enumeration {
-                enum min-work-route-hop {
+                enum MIN_WORK_ROUTE_HOP {
                     description "none";
                 }
-                enum min-work-route-cost {
+                enum MIN_WORK_ROUTE_COST {
                     description "none";
                 }
-                enum min-work-route-latency {
+                enum MIN_WORK_ROUTE_LATENCY {
                     description "none";
                 }
-                enum min-sum-of-work-and-protection-route-hop {
+                enum MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_HOP {
                     description "none";
                 }
-                enum min-sum-of-work-and-protection-route-cost {
+                enum MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_COST {
                     description "none";
                 }
-                enum min-sum-of-work-and-protection-route-latency {
+                enum MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_LATENCY {
                     description "none";
                 }
-                enum load-balance-max-unused-capacity {
+                enum LOAD_BALANCE_MAX_UNUSED_CAPACITY {
                     description "none";
                 }
             }
@@ -645,19 +583,19 @@
         }
         typedef diversity-policy {
             type enumeration {
-                enum srlg {
+                enum SRLG {
                     description "none";
                 }
-                enum srng {
+                enum SRNG {
                     description "none";
                 }
-                enum sng {
+                enum SNG {
                     description "none";
                 }
-                enum node {
+                enum NODE {
                     description "none";
                 }
-                enum link {
+                enum LINK {
                     description "none";
                 }
             }
@@ -665,22 +603,22 @@
         }
         typedef protection-role {
             type enumeration {
-                enum work {
+                enum WORK {
                     description "none";
                 }
-                enum protect {
+                enum PROTECT {
                     description "none";
                 }
-                enum protected {
+                enum PROTECTED {
                     description "none";
                 }
-                enum na {
+                enum NA {
                     description "none";
                 }
-                enum work-restore {
+                enum WORK_RESTORE {
                     description "none";
                 }
-                enum protect-restore {
+                enum PROTECT_RESTORE {
                     description "none";
                 }
             }
diff --git a/models/tapi/src/main/yang/tapi-eth@2017-05-31.yang b/models/tapi/src/main/yang/tapi-eth@2017-05-31.yang
index 500430f..d4509e1 100644
--- a/models/tapi/src/main/yang/tapi-eth@2017-05-31.yang
+++ b/models/tapi/src/main/yang/tapi-eth@2017-05-31.yang
@@ -21,18 +21,18 @@
         description "TAPI SDK 2.0-alpha";
         reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020 and RFC 6087";
     }
-    augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point/tapi-connectivity:layer-protocol" {
-        uses connection-end-point-lp-spec;
-        description "Augments the base LayerProtocol information in ConnectionEndPoint with ETH-specific information";
+    augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
+        uses eth-node-edge-point-spec;
+        description "Augments the base LayerProtocol information in NodeEndPoint with ETH-specific information";
     }
-    augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-topology:layer-protocol" {
-        uses node-edge-point-lp-spec;
-        description "Augments the base LayerProtocol information in NodeEdgePoint with ETH-specific information";
+    augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
+        uses eth-connection-end-point-spec;
+        description "Augments the base LayerProtocol information in ConnectionEndPoint with ETH-specific information";
     }
     /***********************
     * package object-classes
     **********************/ 
-        grouping connection-point-and-adapter-pac {
+        grouping eth-ctp-pac {
             leaf-list auxiliary-function-position-sequence {
                 type uint64;
                 description "This attribute indicates the positions (i.e., the relative order) of all the MEP, MIP, and TCS objects which are associated with the CTP.";
@@ -143,25 +143,13 @@
                 description "This attribute models the combination of all CSF related MI signals (MI_CSF_Enable, MI_CSFrdifdi_Enable, MI_CSFdci_Enable) as defined in G.8021.
                     range of type : true, false";
             }
-            container traffic-shaping {
-                uses traffic-shaping-pac;
-                description "none";
-            }
-            container traffic-conditioning {
-                uses traffic-conditioning-pac;
-                description "none";
-            }
+            uses tapi-eth:traffic-shaping-pac;
+            uses tapi-eth:traffic-conditioning-pac;
             description "none";
         }
-        grouping connection-end-point-lp-spec {
-            container termination-spec {
-                uses eth-termination-pac;
-                description "none";
-            }
-            container adapter-spec {
-                uses connection-point-and-adapter-pac;
-                description "none";
-            }
+        grouping eth-connection-end-point-spec {
+            uses tapi-eth:eth-termination-pac;
+            uses tapi-eth:eth-ctp-pac;
             description "none";
         }
         grouping eth-termination-pac {
@@ -173,7 +161,7 @@
                 type vlan-type;
                 description "This attribute models the ETHx/ETH-m _A_Sk_MI_Etype information defined in G.8021.";
             }
-            leaf-list filter-config {
+            leaf-list filter-config-1 {
                 type mac-address;
                 description "This attribute models the ETHx/ETH-m_A_Sk_MI_Filter_Config information defined in G.8021.
                     It indicates the configured filter action for each of the 33 group MAC addresses for control frames.
@@ -232,7 +220,7 @@
             description "none";
         }
         grouping traffic-conditioning-pac {
-            list prio-config-list {
+            list prio-config-list-1 {
                 config false;
                 uses priority-configuration;
                 description "This attribute indicates the Priority Splitter function for the mapping of the Ethernet frame priority (ETH_CI_P) values to the output queue.";
@@ -249,7 +237,7 @@
                     - Coupling flag (CF): 0 or 1
                     - Color mode (CM): color-blind and color-aware.";
             }
-            leaf codirectional {
+            leaf codirectional-1 {
                 type boolean;
                 config false;
                 description "This attribute indicates the direction of the conditioner. The value of true means that the conditioner (modeled as a TCS Sink according to G.8021) is associated with the sink part of the containing CTP. The value of false means that the conditioner (modeled as a TCS Sink according to G.8021) is associated with the source part of the containing CTP.";
@@ -283,11 +271,8 @@
             description "This object class models the ETH traffic shaping function as defined in G.8021.
                 Basic attribute: codirectional, prioConfigList, queueConfigList, schedConfig";
         }
-        grouping node-edge-point-lp-spec {
-            container termination-spec {
-                uses ety-termination-pac;
-                description "none";
-            }
+        grouping eth-node-edge-point-spec {
+            uses tapi-eth:ety-termination-pac;
             description "none";
         }
 
@@ -600,10 +585,10 @@
         }
         typedef admin-state {
             type enumeration {
-                enum lock {
+                enum LOCK {
                     description "none";
                 }
-                enum normal {
+                enum NORMAL {
                     description "none";
                 }
             }
@@ -611,10 +596,10 @@
         }
         typedef colour-mode {
             type enumeration {
-                enum colour-blind {
+                enum COLOUR_BLIND {
                     description "none";
                 }
-                enum colour-aware {
+                enum COLOUR_AWARE {
                     description "none";
                 }
             }
@@ -622,31 +607,31 @@
         }
         typedef csf-config {
             type enumeration {
-                enum disabled {
+                enum DISABLED {
                     description "This literal covers the following states of the CSF related MI informations:
                         - MI_CSF_Enable is false
                         - MI_CSFrdifdi_Enable is false
                         - MI_CSFdci_Enable is false.";
                 }
-                enum enabled {
+                enum ENABLED {
                     description "This literal covers the following states of the CSF related MI informations:
                         - MI_CSF_Enable is true
                         - MI_CSFrdifdi_Enable is false
                         - MI_CSFdci_Enable is false.";
                 }
-                enum enabled-with-rdi-fdi {
+                enum ENABLED_WITH_RDI_FDI {
                     description "This literal covers the following states of the CSF related MI informations:
                         - MI_CSF_Enable is true
                         - MI_CSFrdifdi_Enable is true
                         - MI_CSFdci_Enable is false.";
                 }
-                enum enabled-with-rdi-fdi-dci {
+                enum ENABLED_WITH_RDI_FDI_DCI {
                     description "This literal covers the following states of the CSF related MI informations:
                         - MI_CSF_Enable is true
                         - MI_CSFrdifdi_Enable is true
                         - MI_CSFdci_Enable is true.";
                 }
-                enum enabled-with-dci {
+                enum ENABLED_WITH_DCI {
                     description "This literal covers the following states of the CSF related MI informations:
                         - MI_CSF_Enable is true
                         - MI_CSFrdifdi_Enable is false
@@ -657,46 +642,46 @@
         }
         typedef ety-phy-type {
             type enumeration {
-                enum other {
+                enum OTHER {
                     description "none";
                 }
-                enum unknown {
+                enum UNKNOWN {
                     description "none";
                 }
-                enum none {
+                enum NONE {
                     description "none";
                 }
-                enum 2-base-tl {
+                enum 2BASE_TL {
                     description "none";
                 }
-                enum 10-mbit-s {
+                enum 10MBIT_S {
                     description "none";
                 }
-                enum 10-pass-ts {
+                enum 10PASS_TS {
                     description "none";
                 }
-                enum 100-base-t-4 {
+                enum 100BASE_T4 {
                     description "none";
                 }
-                enum 100-base-x {
+                enum 100BASE_X {
                     description "none";
                 }
-                enum 100-base-t-2 {
+                enum 100BASE_T2 {
                     description "none";
                 }
-                enum 1000-base-x {
+                enum 1000BASE_X {
                     description "none";
                 }
-                enum 1000-base-t {
+                enum 1000BASE_T {
                     description "none";
                 }
-                enum 10-gbase-x {
+                enum 10GBASE-X {
                     description "none";
                 }
-                enum 10-gbase-r {
+                enum 10GBASE_R {
                     description "none";
                 }
-                enum 10-gbase-w {
+                enum 10GBASE_W {
                     description "none";
                 }
             }
@@ -704,13 +689,13 @@
         }
         typedef frame-type {
             type enumeration {
-                enum admit-only-vlan-tagged-frames {
+                enum ADMIT_ONLY_VLAN_TAGGED_FRAMES {
                     description "none";
                 }
-                enum admit-only-untagged-and-priority-tagged-frames {
+                enum ADMIT_ONLY_UNTAGGED_AND_PRIORITY_TAGGED_FRAMES {
                     description "none";
                 }
-                enum admit-all-frames {
+                enum ADMIT_ALL_FRAMES {
                     description "none";
                 }
             }
@@ -718,25 +703,25 @@
         }
         typedef oam-period {
             type enumeration {
-                enum 3-33-ms {
+                enum 3_33MS {
                     description "Default for protection.";
                 }
-                enum 10-ms {
+                enum 10MS {
                     description "none";
                 }
-                enum 100-ms {
+                enum 100MS {
                     description "none";
                 }
-                enum 1-s {
+                enum 1S {
                     description "none";
                 }
-                enum 10-s {
+                enum 10S {
                     description "none";
                 }
-                enum 1-min {
+                enum 1MIN {
                     description "none";
                 }
-                enum 10-min {
+                enum 10MIN {
                     description "none";
                 }
             }
@@ -744,19 +729,19 @@
         }
         typedef pcp-coding {
             type enumeration {
-                enum 8-p-0-d {
+                enum 8P0D {
                     description "none";
                 }
-                enum 7-p-1-d {
+                enum 7P1D {
                     description "none";
                 }
-                enum 6-p-2-d {
+                enum 6P2D {
                     description "none";
                 }
-                enum 5-p-3-d {
+                enum 5P3D {
                     description "none";
                 }
-                enum dei {
+                enum DEI {
                     description "This enumeration value means that all priorities should be drop eligible.
                         DEI = Drop Eligibility Indicator";
                 }
@@ -765,13 +750,13 @@
         }
         typedef vlan-type {
             type enumeration {
-                enum c-tag {
+                enum C_Tag {
                     description "0x8100";
                 }
-                enum s-tag {
+                enum S_Tag {
                     description "0x88a8";
                 }
-                enum i-tag {
+                enum I_Tag {
                     description "88-e7";
                 }
             }
diff --git a/models/tapi/src/main/yang/tapi-notification@2017-05-31.yang b/models/tapi/src/main/yang/tapi-notification@2017-05-31.yang
index 1ca3f52..2b4e526 100644
--- a/models/tapi/src/main/yang/tapi-notification@2017-05-31.yang
+++ b/models/tapi/src/main/yang/tapi-notification@2017-05-31.yang
@@ -245,71 +245,71 @@
         }
         typedef notification-type {
             type enumeration {
-                enum object-creation {
+                enum OBJECT_CREATION {
                     description "Not a normal state. The system is unable to determine the correct value.";
                 }
-                enum object-deletion {
+                enum OBJECT_DELETION {
                     description "none";
                 }
-                enum attribute-value-change {
+                enum ATTRIBUTE_VALUE_CHANGE {
                     description "none";
                 }
-                enum alarm-event {
+                enum ALARM_EVENT {
                     description "none";
                 }
-                enum threshold-crossing-alert {
+                enum THRESHOLD_CROSSING_ALERT {
                     description "none";
                 }
             }
-            description "The orientation of flow at the Port of a Forwarding entity";
+            description "List of supported Notifications types.";
         }
         typedef object-type {
             type enumeration {
-                enum topology {
+                enum TOPOLOGY {
                     description "none";
                 }
-                enum node {
+                enum NODE {
                     description "none";
                 }
-                enum link {
+                enum LINK {
                     description "none";
                 }
-                enum connection {
+                enum CONNECTION {
                     description "none";
                 }
-                enum path {
+                enum PATH {
                     description "none";
                 }
-                enum connectivity-service {
+                enum CONNECTIVITY_SERVICE {
                     description "none";
                 }
-                enum virtual-network-service {
+                enum VIRTUAL_NETWORK_SERVICE {
                     description "none";
                 }
-                enum path-computation-service {
+                enum PATH_COMPUTATION_SERVICE {
                     description "none";
                 }
-                enum node-edge-point {
+                enum NODE_EDGE_POINT {
                     description "none";
                 }
-                enum service-interface-point {
+                enum SERVICE_INTERFACE_POINT {
                     description "none";
                 }
-                enum connection-end-point {
+                enum CONNECTION_END_POINT {
                     description "none";
                 }
             }
-            description "The orientation of flow at the Port of a Forwarding entity";
+            description "The list of TAPI Global Object Class types on which Notifications can be raised.";
         }
         typedef source-indicator {
             type enumeration {
-                enum resource-operation {
+                enum RESOURCE_OPERATION {
                     description "none";
                 }
-                enum management-operation {
+                enum MANAGEMENT_OPERATION {
                     description "none";
                 }
-                enum unknown {
+                enum UNKNOWN {
                     description "none";
                 }
             }
@@ -317,10 +317,10 @@
         }
         typedef subscription-state {
             type enumeration {
-                enum suspended {
+                enum SUSPENDED {
                     description "none";
                 }
-                enum active {
+                enum ACTIVE {
                     description "none";
                 }
             }
@@ -328,19 +328,19 @@
         }
         typedef perceived-serverity-type {
             type enumeration {
-                enum critical {
+                enum CRITICAL {
                     description "none";
                 }
-                enum major {
+                enum MAJOR {
                     description "none";
                 }
-                enum minor {
+                enum MINOR {
                     description "none";
                 }
-                enum warning {
+                enum WARNING {
                     description "none";
                 }
-                enum cleared {
+                enum CLEARED {
                     description "none";
                 }
             }
@@ -348,13 +348,13 @@
         }
         typedef threshold-crossing-type {
             type enumeration {
-                enum threshold-above {
+                enum THRESHOLD_ABOVE {
                     description "none";
                 }
-                enum threshold-below {
+                enum THRESHOLD_BELOW {
                     description "none";
                 }
-                enum cleared {
+                enum CLEARED {
                     description "none";
                 }
             }
@@ -362,13 +362,13 @@
         }
         typedef service-affecting {
             type enumeration {
-                enum service-affecting {
+                enum SERVICE_AFFECTING {
                     description "none";
                 }
-                enum not-service-affecting {
+                enum NOT_SERVICE_AFFECTING {
                     description "none";
                 }
-                enum unknown {
+                enum UNKNOWN {
                     description "none";
                 }
             }
diff --git a/models/tapi/src/main/yang/tapi-oam@2017-05-31.yang b/models/tapi/src/main/yang/tapi-oam@2017-05-31.yang
index da16273..506eec9 100644
--- a/models/tapi/src/main/yang/tapi-oam@2017-05-31.yang
+++ b/models/tapi/src/main/yang/tapi-oam@2017-05-31.yang
@@ -80,19 +80,13 @@
             description "none";
         }
         grouping on-demand-measurement-job {
-            container state {
-                uses tapi-common:admin-state-pac;
-                description "none";
-            }
             uses tapi-common:local-class;
+            uses tapi-common:admin-state-pac;
             description "none";
         }
         grouping pro-active-measurement-job {
-            container state {
-                uses tapi-common:admin-state-pac;
-                description "none";
-            }
             uses tapi-common:local-class;
+            uses tapi-common:admin-state-pac;
             description "none";
         }
         grouping meg {
diff --git a/models/tapi/src/main/yang/tapi-odu@2017-05-31.yang b/models/tapi/src/main/yang/tapi-odu@2017-05-31.yang
index 2d5496b..00a5bc9 100644
--- a/models/tapi/src/main/yang/tapi-odu@2017-05-31.yang
+++ b/models/tapi/src/main/yang/tapi-odu@2017-05-31.yang
@@ -75,25 +75,10 @@
                 It is present only if the CEP contains a TTP";
         }
         grouping odu-connection-end-point-spec {
-            container odu-common {
-                uses odu-common-pac;
-                description "none";
-            }
-            container odu-term-and-adapter {
-                config false;
-                uses odu-termination-and-client-adaptation-pac;
-                description "none";
-            }
-            container odu-ctp {
-                config false;
-                uses odu-ctp-pac;
-                description "none";
-            }
-            container odu-protection {
-                config false;
-                uses odu-protection-pac;
-                description "none";
-            }
+            uses tapi-odu:odu-common-pac;
+            uses tapi-odu:odu-termination-and-client-adaptation-pac;
+            uses tapi-odu:odu-ctp-pac;
+            uses tapi-odu:odu-protection-pac;
             description "none";
         }
         grouping odu-pool-pac {
@@ -114,11 +99,7 @@
             description "none";
         }
         grouping odu-node-edge-point-spec {
-            container odu-pool {
-                config false;
-                uses odu-pool-pac;
-                description "none";
-            }
+            uses tapi-odu:odu-pool-pac;
             description "none";
         }
         grouping odu-ctp-pac {
@@ -151,28 +132,11 @@
                 It is present only if the CEP contains a CTP";
         }
         grouping odu-mep-spec {
-            container odu-mep {
-                uses odu-mep-pac;
-                description "none";
-            }
-            container odu-ncm {
-                config false;
-                uses odu-ncm-pac;
-                description "none";
-            }
-            container odu-tcm {
-                config false;
-                uses odu-tcm-mep-pac;
-                description "none";
-            }
-            container odu-defect {
-                uses odu-defect-pac;
-                description "none";
-            }
-            container odu-pm {
-                uses odu-pm-pac;
-                description "none";
-            }
+            uses tapi-odu:odu-mep-pac;
+            uses tapi-odu:odu-ncm-pac;
+            uses tapi-odu:odu-tcm-mep-pac;
+            uses tapi-odu:odu-defect-pac;
+            uses tapi-odu:odu-pm-pac;
             description "none";
         }
         grouping odu-protection-pac {
@@ -231,29 +195,11 @@
             description "none";
         }
         grouping odu-mip-spec {
-            container odu-mip {
-                config false;
-                uses odu-mip-pac;
-                description "none";
-            }
-            container odu-ncm {
-                config false;
-                uses odu-ncm-pac;
-                description "none";
-            }
-            container odu-tcm {
-                config false;
-                uses odu-tcm-mip-pac;
-                description "none";
-            }
-            container odu-pm {
-                uses odu-pm-pac;
-                description "none";
-            }
-            container odu-defect {
-                uses odu-defect-pac;
-                description "none";
-            }
+            uses tapi-odu:odu-mip-pac;
+            uses tapi-odu:odu-ncm-pac;
+            uses tapi-odu:odu-tcm-mip-pac;
+            uses tapi-odu:odu-pm-pac;
+            uses tapi-odu:odu-defect-pac;
             description "none";
         }
         grouping odu-mip-pac {
@@ -403,136 +349,30 @@
     /***********************
     * package type-definitions
     **********************/ 
-        identity deg-thr-type {
-            description "none";
-        }
-        identity percentage {
-            base deg-thr-type;
-            description "Choice of % or Number of errored blocks";
-        }
-        identity number-errored-blocks {
-            base deg-thr-type;
-            description "Number of % or blocks";
-        }
-        identity tcm-status {
-            description "none";
-        }
-        identity no-source-tc {
-            base tcm-status;
-            description "TCM byte 3 (bits 6 7 8) -- 0 0 0, No source Tandem Connection";
-        }
-        identity in-use-without-iae {
-            base tcm-status;
-            description "TCM byte 3 (bits 6 7 8) -- 0 0 1,  In use without IAE (Incoming Alignment Error)";
-        }
-        identity in-use-with-iae {
-            base tcm-status;
-            description "TCM byte 3 (bits 6 7 8) -- 0 1 0, In use with IAE (Incoming Alignment Error)";
-        }
-        identity reserved-1 {
-            base tcm-status;
-            description "TCM byte 3 (bits 6 7 8) -- 0 1 1, Reserved for future international standardization";
-        }
-        identity reserved-2 {
-            base tcm-status;
-            description "TCM byte 3 (bits 6 7 8) -- 1 0 0, Reserved for future international standardization";
-        }
-        identity lck {
-            base tcm-status;
-            description "TCM byte 3 (bits 6 7 8) -- 1 0 1, Maintenance signal: ODU-LCK";
-        }
-        identity oci {
-            base tcm-status;
-            description "TCM byte 3 (bits 6 7 8) -- 1 1 0, Maintenance signal: ODU-OCI";
-        }
-        identity ais {
-            base tcm-status;
-            description "TCM byte 3 (bits 6 7 8) -- 1 1 1, Maintenance signal: ODU-AIS";
-        }
-        identity tcm-mode {
-            description "none";
-        }
-        identity operational {
-            base tcm-mode;
-            description "none";
-        }
-        identity transparent {
-            base tcm-mode;
-            description "none";
-        }
-        identity monitor {
-            base tcm-mode;
-            description "none";
-        }
-        identity tcm-monitoring {
-            description "none";
-        }
-        identity intrusive {
-            base tcm-monitoring;
-            description "none";
-        }
-        identity non-intrusive {
-            base tcm-monitoring;
-            description "none";
-        }
-        identity tcm-extension {
-            description "none";
-        }
-        identity normal {
-            base tcm-extension;
-            description "none";
-        }
-        identity pass-through {
-            base tcm-extension;
-            description "none";
-        }
-        identity erase {
-            base tcm-extension;
-            description "none";
-        }
-        identity percentage-granularity {
-            description "none";
-        }
-        identity ones {
-            base percentage-granularity;
-            description "none";
-        }
-        identity one-tenths {
-            base percentage-granularity;
-            description "value * (1/10)";
-        }
-        identity one-hundredths {
-            base percentage-granularity;
-            description "value * (1/100)";
-        }
-        identity one-thousandths {
-            base percentage-granularity;
-            description "value * (1/1000)";
-        }
         typedef odu-type {
             type enumeration {
-                enum odu-0 {
+                enum ODU0 {
                     description "none";
                 }
-                enum odu-1 {
+                enum ODU1 {
                     description "none";
                 }
-                enum odu-2 {
+                enum ODU2 {
                     description "none";
                 }
-                enum odu-2-e {
+                enum ODU2E {
                     description "none";
                 }
-                enum odu-3 {
+                enum ODU3 {
                     description "none";
                 }
-                enum odu-4 {
+                enum ODU4 {
                     description "none";
                 }
-                enum odu-flex {
+                enum ODU_FLEX {
                     description "none";
                 }
-                enum odu-cn {
+                enum ODU_CN {
                     description "none";
                 }
             }
@@ -540,22 +380,22 @@
         }
         typedef mapping-type {
             type enumeration {
-                enum amp {
+                enum AMP {
                     description "none";
                 }
-                enum bmp {
+                enum BMP {
                     description "none";
                 }
-                enum gfp-f {
+                enum GFP-F {
                     description "none";
                 }
-                enum gmp {
+                enum GMP {
                     description "none";
                 }
-                enum ttp-gfp-bmp {
+                enum TTP_GFP_BMP {
                     description "none";
                 }
-                enum null {
+                enum NULL {
                     description "none";
                 }
             }
@@ -563,16 +403,16 @@
         }
         typedef tim-det-mo {
             type enumeration {
-                enum dapi {
+                enum DAPI {
                     description "none";
                 }
-                enum sapi {
+                enum SAPI {
                     description "none";
                 }
-                enum both {
+                enum BOTH {
                     description "none";
                 }
-                enum off {
+                enum OFF {
                     description "none";
                 }
             }
@@ -580,10 +420,10 @@
         }
         typedef odu-slot-size {
             type enumeration {
-                enum 1-g-25 {
+                enum 1G25 {
                     description "none";
                 }
-                enum 2-g-5 {
+                enum 2G5 {
                     description "none";
                 }
             }
@@ -602,10 +442,10 @@
         }
         typedef odu-named-payload-type {
             type enumeration {
-                enum unknown {
+                enum UNKNOWN {
                     description "none";
                 }
-                enum uninterpretable {
+                enum UNINTERPRETABLE {
                     description "none";
                 }
             }
@@ -633,38 +473,98 @@
                 Number of Errored Blocks is captured in an integer value.";
         }
         typedef deg-thr-type {
-            type identityref {
-                base deg-thr-type;
+            type enumeration {
+                enum PERCENTAGE {
+                    description "Choice of % or Number of errored blocks";
+                }
+                enum NUMBER_ERRORED_BLOCKS {
+                    description "Number of % or blocks";
+                }
             }
             description "The value of the threshold can be provisioned in terms of number of errored blocks or in terms of percentage of errored blocks. For percentage-based specification, in order to support provision of less than 1%, the specification consists of two fields. The first field indicates the granularity of percentage. For examples, in 1%, in 0.1%, or in 0.01%, etc. The second field indicates the multiple of the granularity. For number of errored block based, the value is a positive integer.";
         }
         typedef tcm-status {
-            type identityref {
-                base tcm-status;
+            type enumeration {
+                enum NO_SOURCE_TC {
+                    description "TCM byte 3 (bits 6 7 8) -- 0 0 0, No source Tandem Connection";
+                }
+                enum IN_USE_WITHOUT_IAE {
+                    description "TCM byte 3 (bits 6 7 8) -- 0 0 1,  In use without IAE (Incoming Alignment Error)";
+                }
+                enum IN_USE_WITH_IAE {
+                    description "TCM byte 3 (bits 6 7 8) -- 0 1 0, In use with IAE (Incoming Alignment Error)";
+                }
+                enum RESERVED_1 {
+                    description "TCM byte 3 (bits 6 7 8) -- 0 1 1, Reserved for future international standardization";
+                }
+                enum RESERVED_2 {
+                    description "TCM byte 3 (bits 6 7 8) -- 1 0 0, Reserved for future international standardization";
+                }
+                enum LCK {
+                    description "TCM byte 3 (bits 6 7 8) -- 1 0 1, Maintenance signal: ODU-LCK";
+                }
+                enum OCI {
+                    description "TCM byte 3 (bits 6 7 8) -- 1 1 0, Maintenance signal: ODU-OCI";
+                }
+                enum AIS {
+                    description "TCM byte 3 (bits 6 7 8) -- 1 1 1, Maintenance signal: ODU-AIS";
+                }
             }
             description "See Table 15-5/G.709/Y.1331 ";
         }
         typedef tcm-mode {
-            type identityref {
-                base tcm-mode;
+            type enumeration {
+                enum OPERATIONAL {
+                    description "none";
+                }
+                enum TRANSPARENT {
+                    description "none";
+                }
+                enum MONITOR {
+                    description "none";
+                }
             }
             description "List of value modes for the sink side of the tandem connection monitoring function.";
         }
         typedef tcm-monitoring {
-            type identityref {
-                base tcm-monitoring;
+            type enumeration {
+                enum INTRUSIVE {
+                    description "none";
+                }
+                enum NON-INTRUSIVE {
+                    description "none";
+                }
             }
             description "Monitoring types for the tandem connection monitoring function.";
         }
         typedef tcm-extension {
-            type identityref {
-                base tcm-extension;
+            type enumeration {
+                enum NORMAL {
+                    description "none";
+                }
+                enum PASS-THROUGH {
+                    description "none";
+                }
+                enum ERASE {
+                    description "none";
+                }
             }
             description "none";
         }
         typedef percentage-granularity {
-            type identityref {
-                base percentage-granularity;
+            type enumeration {
+                enum ONES {
+                    description "none";
+                }
+                enum ONE_TENTHS {
+                    description "value * (1/10)";
+                }
+                enum ONE_HUNDREDTHS {
+                    description "value * (1/100)";
+                }
+                enum ONE_THOUSANDTHS {
+                    description "value * (1/1000)";
+                }
             }
             description "none";
         }
diff --git a/models/tapi/src/main/yang/tapi-otsi@2017-05-31.yang b/models/tapi/src/main/yang/tapi-otsi@2017-05-31.yang
index 13c95c8..861daff 100644
--- a/models/tapi/src/main/yang/tapi-otsi@2017-05-31.yang
+++ b/models/tapi/src/main/yang/tapi-otsi@2017-05-31.yang
@@ -36,45 +36,35 @@
             description "none";
         }
         grouping otsi-connection-end-point-spec {
-            container otsi-adapter {
-                config false;
-                uses otsi-a-client-adaptation-pac;
-                description "none";
-            }
-            list otsi-termination {
-                config false;
-                uses otsi-termination-pac;
-                description "none";
-            }
-            container otsi-ctp {
-                config false;
-                uses otsi-g-ctp-pac;
-                description "none";
-            }
+            uses tapi-otsi:otsi-a-client-adaptation-pac;
+            uses tapi-otsi:otsi-termination-pac;
+            uses tapi-otsi:otsi-g-ctp-pac;
             description "none";
         }
         grouping otsi-termination-pac {
-            container selected-nominal-central-frequency {
+            list selected-nominal-central-frequency {
+                config false;
                 uses nominal-central-frequency-or-wavelength;
                 description "This attribute indicates the nominal central frequency or wavelength of the optical channel associated with the OCh Trail Termination function. The value of this attribute is a pair {LinkType, Integer}, in which LinkType is DWDM, or CWDM, or NO_WDM. When LinkType is DWDM, the integer represents the nominal central frequency in unit of MHz. When LinkType is CWDM, the integer represents the nominal central wavelength in unit of pm (picometer). When LinkType is NO_WDM, the Integer field is null. For frequency and wavelength, the value shall be within the range of the maximum and minimum central frequencies or wavelengths specified for the corresponding application code used at the OCh Trail Termination.
                     This attribute is required for the OCh Trial Termination Point Source at the transmitter.  For the OCh Trail Termination Point Sink at the receiver, this attribute may not be needed since the receiver is required to operate at any frequency/wavelength between the maximum and minimum range for the standard application code.
                     ";
             }
-            container supportable-lower-nominal-central-frequency {
+            list supportable-lower-nominal-central-frequency {
                 config false;
                 uses nominal-central-frequency-or-wavelength;
                 description "none";
             }
-            container supportable-upper-nominal-central-frequency {
+            list supportable-upper-nominal-central-frequency {
                 config false;
                 uses nominal-central-frequency-or-wavelength;
                 description "none";
             }
-            container selected-application-identifier {
+            list selected-application-identifier {
+                config false;
                 uses application-identifier;
                 description "This attribute indicates the selected Application Identifier that is used by the OCh trail termination function. The syntax of ApplicationIdentifier is a pair {ApplicationIdentifierType, PrintableString}. The value of ApplicationIdentifierType is either STANDARD or PROPRIETARY. The value of PrintableString represents the standard application code as defined in the ITU-T Recommendations or a vendor-specific proprietary code. If the ApplicationIdentifierType is STANDARD the value of PrintableString represents a standard application code as defined in the ITU-T Recommendations. If the ApplicationIdentifierType is PROPRIETARY, the first six characters of the PrintableString must contain the Hexadecimal representation of an OUI assigned to the vendor whose implementation generated the Application Identifier; the remaining octets of the PrintableString are unspecified. The value of this attribute of an object instance has to be one of the values identified in the attribute SupportableApplicationIdentifierList of the same object instance. The values and value ranges of the optical interface parameters of a standard application code must be consistent with those values specified in the ITU-T Recommendation for that application code.";
             }
-            container supportable-application-identifier {
+            list supportable-application-identifier {
                 config false;
                 uses application-identifier;
                 description "none";
@@ -95,11 +85,7 @@
             description "none";
         }
         grouping otsi-node-edge-point-spec {
-            container otsi-pool {
-                config false;
-                uses otsi-a-pool-pac;
-                description "none";
-            }
+            uses tapi-otsi:otsi-a-pool-pac;
             description "none";
         }
         grouping otsi-routing-spec {
@@ -111,6 +97,7 @@
         }
         grouping otsi-g-ctp-pac {
             list selected-frequency-slot {
+                config false;
                 uses frequency-slot;
                 description "none";
             }
@@ -123,81 +110,6 @@
     /***********************
     * package type-definitions
     **********************/ 
-        identity application-identifier-type {
-            description "none";
-        }
-        identity proprietary {
-            base application-identifier-type;
-            description "none";
-        }
-        identity itut-g-959-1 {
-            base application-identifier-type;
-            description "none";
-        }
-        identity itut-g-698-1 {
-            base application-identifier-type;
-            description "none";
-        }
-        identity itut-g-698-2 {
-            base application-identifier-type;
-            description "none";
-        }
-        identity itut-g-696-1 {
-            base application-identifier-type;
-            description "none";
-        }
-        identity itut-g-695 {
-            base application-identifier-type;
-            description "none";
-        }
-        identity grid-type {
-            description "none";
-        }
-        identity dwdm {
-            base grid-type;
-            description "Fixed frequency grid in C & L bands as specified in ITU-T G.694.1
-                ";
-        }
-        identity cwdm {
-            base grid-type;
-            description "Fixed frequency grid as specified in ITU-T G.694.2";
-        }
-        identity flex {
-            base grid-type;
-            description "Flexible frequency grid as specified in ITU-T G.694.1. In this case,
-                - the allowed frequency slots have a nominal central frequency (in THz) defined by:
-                193.1 + n × 0.00625 where n is a positive or negative integer including 0 and 0.00625 is the nominal central frequency granularity in THz
-                - and a slot width defined by:
-                12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.
-                Any combination of frequency slots is allowed as long as no two frequency slots overlap.";
-        }
-        identity unspecified {
-            base grid-type;
-            description "Unspecified/proprietary frequency grid";
-        }
-        identity adjustment-granularity {
-            description "none";
-        }
-        identity g-100-ghz {
-            base adjustment-granularity;
-            description "0.1 THz";
-        }
-        identity g-50-ghz {
-            base adjustment-granularity;
-            description "0.05 THz";
-        }
-        identity g-25-ghz {
-            base adjustment-granularity;
-            description "0.025 THz";
-        }
-        identity g-12-5-ghz {
-            base adjustment-granularity;
-            description "0.0125 THz";
-        }
-        identity g-6-25-ghz {
-            base adjustment-granularity;
-            description "0.00625 THz";
-        }
         grouping application-identifier {
             leaf application-identifier-type {
                 type application-identifier-type;
@@ -231,39 +143,87 @@
         }
         typedef optical-routing-strategy {
             type enumeration {
-                enum optimal-osnr {
+                enum OPTIMAL_OSNR {
                     description "none";
                 }
-                enum no-relay {
+                enum NO_RELAY {
                     description "none";
                 }
-                enum min-relay {
+                enum MIN_RELAY {
                     description "none";
                 }
-                enum preferred-no-change-wavelength-as-restore {
+                enum PREFERRED_NO_CHANGE_WAVELENGTH_AS_RESTORE {
                     description "none";
                 }
-                enum preferred-no-skipping-wavelength {
+                enum PREFERRED_NO_SKIPPING_WAVELENGTH {
                     description "none";
                 }
             }
             description "none";
         }
         typedef application-identifier-type {
-            type identityref {
-                base application-identifier-type;
+            type enumeration {
+                enum PROPRIETARY {
+                    description "none";
+                }
+                enum ITUT_G959_1 {
+                    description "none";
+                }
+                enum ITUT_G698_1 {
+                    description "none";
+                }
+                enum ITUT_G698_2 {
+                    description "none";
+                }
+                enum ITUT_G696_1 {
+                    description "none";
+                }
+                enum ITUT_G695 {
+                    description "none";
+                }
             }
             description "none";
         }
         typedef grid-type {
-            type identityref {
-                base grid-type;
+            type enumeration {
+                enum DWDM {
+                    description "Fixed frequency grid in C & L bands as specified in ITU-T G.694.1
+                        ";
+                }
+                enum CWDM {
+                    description "Fixed frequency grid as specified in ITU-T G.694.2";
+                }
+                enum FLEX {
+                    description "Flexible frequency grid as specified in ITU-T G.694.1. In this case,
+                        - the allowed frequency slots have a nominal central frequency (in THz) defined by:
+                        193.1 + n × 0.00625 where n is a positive or negative integer including 0 and 0.00625 is the nominal central frequency granularity in THz
+                        - and a slot width defined by:
+                        12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.
+                        Any combination of frequency slots is allowed as long as no two frequency slots overlap.";
+                }
+                enum UNSPECIFIED {
+                    description "Unspecified/proprietary frequency grid";
+                }
             }
             description "The frequency grid standard that specify reference set of frequencies used to denote allowed nominal central frequencies that may be used for defining applications.";
         }
         typedef adjustment-granularity {
-            type identityref {
-                base adjustment-granularity;
+            type enumeration {
+                enum G_100GHZ {
+                    description "0.1 THz";
+                }
+                enum G_50GHZ {
+                    description "0.05 THz";
+                }
+                enum G_25GHZ {
+                    description "0.025 THz";
+                }
+                enum G_12_5GHZ {
+                    description "0.0125 THz";
+                }
+                enum G_6_25GHZ {
+                    description "0.00625 THz";
+                }
             }
             description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)";
         }
diff --git a/models/tapi/src/main/yang/tapi-topology@2017-05-31.yang b/models/tapi/src/main/yang/tapi-topology@2017-05-31.yang
index a5b6c3e..5134883 100644
--- a/models/tapi/src/main/yang/tapi-topology@2017-05-31.yang
+++ b/models/tapi/src/main/yang/tapi-topology@2017-05-31.yang
@@ -31,54 +31,6 @@
                 min-elements 2;
                 description "none";
             }
-            leaf-list node {
-                type leafref {
-                    path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:uuid';
-                }
-                config false;
-                min-elements 2;
-                description "none";
-            }
-            container state {
-                config false;
-                uses tapi-common:admin-state-pac;
-                description "none";
-            }
-            container transfer-capacity {
-                config false;
-                uses tapi-common:capacity-pac;
-                description "none";
-            }
-            container transfer-cost {
-                config false;
-                uses transfer-cost-pac;
-                description "none";
-            }
-            container transfer-integrity {
-                config false;
-                uses transfer-integrity-pac;
-                description "none";
-            }
-            container transfer-timing {
-                config false;
-                uses transfer-timing-pac;
-                description "none";
-            }
-            container risk-parameter {
-                config false;
-                uses risk-parameter-pac;
-                description "none";
-            }
-            container validation {
-                config false;
-                uses validation-pac;
-                description "none";
-            }
-            container lp-transition {
-                config false;
-                uses layer-protocol-transition-pac;
-                description "none";
-            }
             leaf-list layer-protocol-name {
                 type tapi-common:layer-protocol-name;
                 config false;
@@ -97,6 +49,14 @@
                 description "none";
             }
             uses tapi-common:resource-spec;
+            uses tapi-common:admin-state-pac;
+            uses tapi-common:capacity-pac;
+            uses tapi-topology:transfer-cost-pac;
+            uses tapi-topology:transfer-integrity-pac;
+            uses tapi-topology:transfer-timing-pac;
+            uses tapi-topology:risk-parameter-pac;
+            uses tapi-topology:validation-pac;
+            uses tapi-topology:layer-protocol-transition-pac;
             description "The Link object class models effective adjacency between two or more ForwardingDomains (FD). ";
         }
         grouping node {
@@ -125,31 +85,6 @@
                 config false;
                 description "none";
             }
-            container state {
-                config false;
-                uses tapi-common:admin-state-pac;
-                description "none";
-            }
-            container transfer-capacity {
-                config false;
-                uses tapi-common:capacity-pac;
-                description "none";
-            }
-            container transfer-cost {
-                config false;
-                uses transfer-cost-pac;
-                description "none";
-            }
-            container transfer-integrity {
-                config false;
-                uses transfer-integrity-pac;
-                description "none";
-            }
-            container transfer-timing {
-                config false;
-                uses transfer-timing-pac;
-                description "none";
-            }
             leaf-list layer-protocol-name {
                 type tapi-common:layer-protocol-name;
                 config false;
@@ -157,6 +92,11 @@
                 description "none";
             }
             uses tapi-common:resource-spec;
+            uses tapi-common:admin-state-pac;
+            uses tapi-common:capacity-pac;
+            uses tapi-topology:transfer-cost-pac;
+            uses tapi-topology:transfer-integrity-pac;
+            uses tapi-topology: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. 
                 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). ";
         }
@@ -196,11 +136,9 @@
                 Links that included details in this Pac are often referred to as Transitional Links.";
         }
         grouping node-edge-point {
-            list layer-protocol {
-                key 'local-id';
+            leaf layer-protocol-name {
+                type tapi-common:layer-protocol-name;
                 config false;
-                min-elements 1;
-                uses tapi-common:layer-protocol;
                 description "none";
             }
             leaf-list aggregated-node-edge-point {
@@ -216,11 +154,6 @@
                 }
                 description "NodeEdgePoint mapped to more than ServiceInterfacePoint (slicing/virtualizing) or a ServiceInterfacePoint mapped to more than one NodeEdgePoint (load balancing/Resilience) should be considered experimental";
             }
-            container state {
-                config false;
-                uses tapi-common:admin-state-pac;
-                description "none";
-            }
             leaf link-port-direction {
                 type tapi-common:port-direction;
                 config false;
@@ -232,6 +165,8 @@
                 description "Each LinkEnd of the Link has a role (e.g., symmetric, hub, spoke, leaf, root)  in the context of the Link with respect to the Link function. ";
             }
             uses tapi-common:resource-spec;
+            uses tapi-common:admin-state-pac;
+            uses tapi-common:termination-pac;
             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.";
         }
@@ -367,23 +302,11 @@
                 min-elements 2;
                 description "none";
             }
-            container transfer-capacity {
-                uses tapi-common:capacity-pac;
-                description "none";
-            }
-            container transfer-cost {
-                uses transfer-cost-pac;
-                description "none";
-            }
-            container transfer-timing {
-                uses transfer-timing-pac;
-                description "none";
-            }
-            container risk-parameter {
-                uses risk-parameter-pac;
-                description "none";
-            }
             uses tapi-common:resource-spec;
+            uses tapi-common:capacity-pac;
+            uses tapi-topology:transfer-cost-pac;
+            uses tapi-topology:transfer-timing-pac;
+            uses tapi-topology:risk-parameter-pac;
             description "none";
         }
         grouping node-rule-group {
@@ -411,23 +334,11 @@
                 uses inter-rule-group;
                 description "none";
             }
-            container transfer-capacity {
-                uses tapi-common:capacity-pac;
-                description "none";
-            }
-            container transfer-cost {
-                uses transfer-cost-pac;
-                description "none";
-            }
-            container transfer-timing {
-                uses transfer-timing-pac;
-                description "none";
-            }
-            container risk-parameter {
-                uses risk-parameter-pac;
-                description "none";
-            }
             uses tapi-common:resource-spec;
+            uses tapi-common:capacity-pac;
+            uses tapi-topology:transfer-cost-pac;
+            uses tapi-topology:transfer-timing-pac;
+            uses tapi-topology:risk-parameter-pac;
             description "none";
         }
         grouping rule {
@@ -524,16 +435,16 @@
         }
         typedef forwarding-rule {
             type enumeration {
-                enum may-forward-across-group {
+                enum MAY_FORWARD_ACROSS_GROUP {
                     description "none";
                 }
-                enum must-forward-across-group {
+                enum MUST_FORWARD_ACROSS_GROUP {
                     description "none";
                 }
-                enum cannot-forward-across-group {
+                enum CANNOT_FORWARD_ACROSS_GROUP {
                     description "none";
                 }
-                enum no-statement-on-forwarding {
+                enum NO_STATEMENT_ON_FORWARDING {
                     description "none";
                 }
             }
@@ -541,22 +452,22 @@
         }
         typedef rule-type {
             type enumeration {
-                enum forwarding {
+                enum FORWARDING {
                     description "none";
                 }
-                enum capacity {
+                enum CAPACITY {
                     description "none";
                 }
-                enum cost {
+                enum COST {
                     description "none";
                 }
-                enum timing {
+                enum TIMING {
                     description "none";
                 }
-                enum risk {
+                enum RISK {
                     description "none";
                 }
-                enum grouping {
+                enum GROUPING {
                     description "none";
                 }
             }
@@ -575,13 +486,13 @@
         }
         typedef restoration-policy {
             type enumeration {
-                enum per-domain-restoration {
+                enum PER_DOMAIN_RESTORATION {
                     description "none";
                 }
-                enum end-to-end-restoration {
+                enum END_TO_END_RESTORATION {
                     description "none";
                 }
-                enum na {
+                enum NA {
                     description "none";
                 }
             }
@@ -589,25 +500,25 @@
         }
         typedef protection-type {
             type enumeration {
-                enum no-protecton {
+                enum NO_PROTECTON {
                     description "none";
                 }
-                enum one-plus-one-protection {
+                enum ONE_PLUS_ONE_PROTECTION {
                     description "none";
                 }
-                enum one-plus-one-protection-with-dynamic-restoration {
+                enum ONE_PLUS_ONE_PROTECTION_WITH_DYNAMIC_RESTORATION {
                     description "none";
                 }
-                enum permanent-one-plus-one-protection {
+                enum PERMANENT_ONE_PLUS_ONE_PROTECTION {
                     description "none";
                 }
-                enum one-for-one-protection {
+                enum ONE_FOR_ONE_PROTECTION {
                     description "none";
                 }
-                enum dynamic-restoration {
+                enum DYNAMIC_RESTORATION {
                     description "none";
                 }
-                enum pre-computed-restoration {
+                enum PRE_COMPUTED_RESTORATION {
                     description "none";
                 }
             }
