diff --git a/augments/ns-various.yang b/augments/ns-various.yang
new file mode 100644
index 0000000..921278d
--- /dev/null
+++ b/augments/ns-various.yang
@@ -0,0 +1,65 @@
+/*
+  Copyright 2020 Whitestack LLC
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+  implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+*/
+
+module ns-various {
+    yang-version 1.1;
+    namespace "urn:etsi:osm:yang:augments:ns-various";
+    prefix "ns-various";
+
+    import etsi-nfv-nsd {
+        prefix nsd;
+    }
+
+    import ip-profiles {
+        prefix ip-profiles;
+    }
+
+    import common-augments {
+        prefix common;
+    }
+
+    grouping extended-floating-ip {
+        leaf floating-ip-required {
+            description
+              "Boolean parameter to indicate whether the CP must be exposed.
+               A public IP address will be allocated to this CP if exposed is true.
+               The default is false meaning a floating IP address is not required.
+               It must be explicitly asked for a floating IP address to be allocated.";
+            type boolean;
+        }
+    }
+
+    grouping extended-security-group {
+        leaf security-group {
+            description
+              "Name of the security group";
+            type string;
+        }
+    }
+
+    augment "/nsd:nsd/nsd:nsd" {
+        uses common:description;
+    }
+
+    augment "/nsd:nsd/nsd:nsd/nsd:sapd" {
+        uses extended-floating-ip;
+    }
+
+    augment "/nsd:nsd/nsd:nsd/nsd:df/nsd:virtual-link-profile/ip-profiles:virtual-link-protocol-data/ip-profiles:l3-protocol-data" {
+        uses extended-security-group;
+    }
+}
diff --git a/augments/ns-vld.yang b/augments/ns-vld.yang
index 492f990..49f5752 100644
--- a/augments/ns-vld.yang
+++ b/augments/ns-vld.yang
@@ -28,10 +28,6 @@
         prefix common;
     }
 
-    import ietf-inet-types {
-        prefix inet;
-    }
-
     grouping extended-vld {
         container provider-network {
             description
@@ -50,13 +46,6 @@
             }
         }
 
-        leaf vim-network-name {
-            description
-              "Name of network in VIM account. This is used to indicate
-                pre-provisioned network name in cloud account.";
-            type string;
-        }
-
         leaf mgmt-network {
             description
               "Flag indicating whether this network is a VIM management network";
@@ -65,19 +54,8 @@
         }
     }
 
-    grouping extended-ip-address {
-        leaf ip-address {
-            description
-              "IP address of the connection point";
-            type inet:ip-address;
-        }
-    }
 
     augment "/nsd:nsd/nsd:nsd/nsd:virtual-link-desc" {
         uses extended-vld;
     }
-
-    augment "/nsd:nsd/nsd:nsd/nsd:df/nsd:vnf-profile/nsd:virtual-link-connectivity/nsd:constituent-cpd-id" {
-        uses extended-ip-address;
-    }
 }
