diff --git a/schema/cord-core.yang b/schema/cord-core.yang
new file mode 100644
index 0000000..25d3d3a
--- /dev/null
+++ b/schema/cord-core.yang
@@ -0,0 +1,59 @@
+module cord-core {
+  
+  namespace "urn:onlab:cord";
+  prefix cord;
+  yang-version 1.1;
+
+  organization
+   "Open Networking Lab (CORD) / Corenova Technologies";
+
+  contact
+    "Larry Peterson <llp@onlab.us>
+     Peter K. Lee <peter@corenova.com>";
+
+  description
+   "This module contains a collection of core models for CORD.
+
+    Copyright (c) 2016 ON.LAB and the persons identified as authors of
+    the code.  All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, is permitted pursuant to, and subject to the license
+    terms of the Apache License, Version 2.0 which accompanies this
+    distribution, and is available at
+    (http://www.apache.org/licenses/LICENSE-2.0).";
+  
+  revision 2016-07-22 {
+    description "Initial revision.";
+  }
+
+  import xos-core        { prefix xos; }
+  import cord-subscriber { prefix csub; }
+  import corenova-node   { prefix node; }
+  
+  /*** primary configuration tree for this module ***/
+  
+  container cord {
+    list subscriber {
+      uses csub:subscriber-controller;
+      key "id";
+
+      description
+        "Authorative list of all subscriber instances";
+
+      leaf humanReadableName {
+        config false;
+        type string {
+          pattern '^cordSubscriber-\w+$';
+        }
+      }
+      action delete;
+    }
+  }
+
+  // here we augment the /api/tenant/cord API configuration tree in 'xos' module
+  augment "/xos:api/xos:tenant" {
+    container cord { node:map "/cord:cord"; }
+  }
+  
+}
