diff --git a/models/plugins/yang/mano-types.yang b/models/plugins/yang/mano-types.yang
index ec3d583..46cad20 100644
--- a/models/plugins/yang/mano-types.yang
+++ b/models/plugins/yang/mano-types.yang
@@ -116,6 +116,22 @@
         Only applies to parameters with default values.";
       type boolean;
     }
+    leaf parameter-type {
+      description "Type of this parameter, whether this in IN or OUT";
+      type enumeration {
+	enum OUT;
+	enum IN;
+      }
+      default "IN";
+    }
+    leaf parameter-path {
+      description "A Leafref to the parameter path with the attribute selection.
+                   At present only attribute ip-address() is supported.
+                   For example, to get the ip address of VNF connection point
+                   the xpath would look something along the following lines,
+                   /vnfd-catalog/vnfd[id='x']/connection-point[name='cp']/ip-address()";
+      type string;
+    }
   }
   
 
diff --git a/models/plugins/yang/nsd.yang b/models/plugins/yang/nsd.yang
index aa55f34..467be6d 100644
--- a/models/plugins/yang/nsd.yang
+++ b/models/plugins/yang/nsd.yang
@@ -317,6 +317,46 @@
         }
       }
 
+      list vnfap-map {
+        key "id";
+        description "A mapping of VNF application point 
+                     capability/dependency within this network service";
+        leaf id {
+          description "Identfier for VNF access point map";
+          type string;
+        }
+        container capability {
+          leaf member-vnf-index-ref {
+            description "Reference to member-vnf within constituent-vnfds";
+            type leafref {
+              path "../../../../constituent-vnfd/member-vnf-index";
+            }
+          }
+          leaf capability-ref {
+            description "Reference to the capability with the capability of the VNF
+                         with the specified member-vnf-index";
+            type leafref {
+              path "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:vnfap/vnfd:capability/vnfd:name";
+            }
+          }
+        }
+        container dependency {
+          leaf member-vnf-index-ref {
+            description "Reference to member-vnf within constituent-vnfds";
+            type leafref {
+              path "../../../../constituent-vnfd/member-vnf-index";
+            }
+          }
+          leaf dependency-ref {
+            description "Reference to the dependency within the dependency of the VNF
+                         with the specified member-vnf-index";
+            type leafref {
+              path "/vnfd:vnfd-catalog/vnfd:vnfd/vnfd:vnfap/vnfd:dependency/vnfd:name";
+            }
+          }
+        }
+      }
+
       // replicate for pnfd container here
       uses manotypes:provider-network;
 
diff --git a/models/plugins/yang/vnfd.yang b/models/plugins/yang/vnfd.yang
index dab7499..1538341 100644
--- a/models/plugins/yang/vnfd.yang
+++ b/models/plugins/yang/vnfd.yang
@@ -115,6 +115,103 @@
     }
   }
 
+  grouping vnf-access-point {
+    list vnfap {
+      description "List of VNF access points";
+      key "name";
+      leaf name {
+        description "Name of the vnf access point";
+        type string {
+          length 128;
+        }
+      }
+      leaf description {
+        description "A description of this VNF access point";
+        type string;
+      }
+      list capability {
+        description "The List  of capabilities of this VNF access point";
+        key "name";
+        leaf name {
+          description "Name of the capability";
+          type string {
+            length 128;
+          }
+        }
+        leaf description {
+          description "A description of the capability";
+          type string;
+        }
+        choice capability-location {
+          case location-path {
+            leaf xpath {
+               description "Location of this capaibility as an xpath.
+                           This field points to an element within vnfd
+                           with the xpath notation and additionally 
+                           provides the flexibility to choose attributes
+                           within the instantiated version of this object.
+                           For example, 
+                              /vnfd-catalog/vnfd[id='xyz']/connection-point[name='cp1']/ip_address()
+                              refers to the ip address of the connection point with name 'cp1' 
+                              in VNFD with id 'xyz'.";
+              type string;
+            }
+          }
+          case location-primitive-ref {
+            leaf config-primitive-name-ref {
+               description "A leafref to configuration primitive.
+                            This field contains a link to the config primitive
+                            the output paramaters of which will satisfy this requirement.";
+               type leafref {
+                 path "/vnfd:vnfd-catalog/vnfd/vnf-configuration/service-primitive/name";
+               }
+            }
+          }
+          case user-input {
+            list user-input {
+              key "name";
+              description "User input for this capability";
+              leaf name {
+                description "Name of this input";
+                type string;
+              }
+              leaf value {
+                description "Value of this input";
+                type string;
+              }
+            }
+          }
+        }
+      }
+      list dependency {
+        description "The List of depenencies of this VNF access point";
+        key "name";
+        leaf name {
+          description "Name of this VNF access point";
+          type string {
+            length 128;
+          }
+        }
+        leaf mandatory {
+          description "Is this dependcy mandatory for this dependency";
+          type boolean;
+        }
+        leaf description {
+          description "A description of the dependency";
+          type string;
+        }
+        leaf config-primitive-name-ref {
+         description "A leafref to configuration primitive.
+                      This field contains a link to the config primitive
+                      the input paramaters of which will satisfy this requirement.";
+          type leafref {
+            path "/vnfd:vnfd-catalog/vnfd/vnf-configuration/service-primitive/name";
+          }
+        }
+      }
+    }
+  }
+
   grouping vnfd-descriptor {
       leaf id {
         description "Identifier for the VNFD.";
@@ -509,7 +606,9 @@
       key "id";
 
       uses vnfd-descriptor;
-     }
+
+      uses vnf-access-point;
+    }
   }
 }
 
