diff --git a/README.md b/README.md
index 83dcd31..78c4505 100644
--- a/README.md
+++ b/README.md
@@ -1,32 +1,47 @@
-# Welcome to OpenCORD
+# Welcome to CORD
 
-This repository is an entry point to OpenCORD. It helps you to build and deploy OpenCORD.
+This repository is an entry point to CORD's open reference
+implementation. It helps you to build and deploy CORD.
 
 
 ### What is CORD
 
-CORD (Central Office Reimagined as a Data Center) is a revolutionary concept to
-turn Telco Central Offices (and MSO Head Ends) into a modern mini data-center, a.k.a. POD.
-The POD is made up of commodity servers, switches, and other networking devices.
-The POD is an application deployment platform optimized for both conventional cloud-scale
-applications as well as virtual network functions (VNF).
+CORD (Central Office Re-architected as a Datacenter) is a
+revolutionary concept to turn Telco Central Offices (and MSO Head
+Ends) into a modern mini-datacenters. We call this a CORD POD. A
+POD is made up of commodity servers, switches, and other networking
+devices.  The POD is an application deployment platform optimized for
+both conventional cloud-scale applications as well as virtual network
+functions (VNF).
 
+### What is the CORD Reference Implementation
 
-### What is OpenCORD
+The CORD open reference implementation is comprised of:
 
-OpenCORD is a reference implementation of the CORD concept and is comprised of:
+- A number of POD hardware specifications that can serve as reference
+  implementations
 
-- A number of POD hardware specifications, which can serve as reference implementations
-- A software platform that when deployed on the servers implements service-agnostic software infrastructure enabling deployment of sophisticated network services
-- A few sample service implementations that can be readily deployed onto OpenCORD PODs
-- A deployment automation framework that simplifies the installation of the platform layers as well as the sample services
-- An extendable test framework and test suite to verify and characterize the platfrom as well as the sample services
-- Extensive documentatio to work with OpenCORD
+- A software platform that when deployed on the servers implements
+  service-agnostic software infrastructure enabling deployment of
+  sophisticated network services
 
+- A few sample service implementations that can be readily deployed
+  onto CORD PODs
+
+- A deployment automation framework that simplifies the installation
+  of the platform layers as well as the sample services
+
+- An extendable test framework and test suite to verify and
+  characterize the platfrom as well as the sample services
+
+- Extensive documentation to work with CORD
 
 ### Quick Start
 
-If this is your first encounter with OpenCORD, you may consider giving it a quick spin. We made it real easy. You can bring up OpenCORD on a single server or on a few servers (with or without a real fabric) with a few commands.
+If this is your first encounter with CORD, you may consider giving it
+a quick spin. We made it real easy. You can bring up CORD on a single
+server or on a few servers (with or without a real fabric) with a few
+commands.
 
 Please follow our [Quick Start Tutorial](docs/quickstart.md).
 
diff --git a/components/maas b/components/maas
index fc8b18e..9bb1595 160000
--- a/components/maas
+++ b/components/maas
@@ -1 +1 @@
-Subproject commit fc8b18e379186e727bfb182d750579294f23a4ec
+Subproject commit 9bb15959aae951036ba6db7c6419abd44ea423e6
diff --git a/config/default.yml b/config/default.yml
index 70945c3..349a42e 100644
--- a/config/default.yml
+++ b/config/default.yml
@@ -1,8 +1,35 @@
+# Deployment configuration for VirtualBox based head node.
+#
+# This deployment configuration can be utilized with the head node created
+# via `vargrant up headnode` from the gerrit.opencord.org/maas repository.
 ---
-
-size: 2
-
 seedServer:
   ip: '10.100.198.202'
 
-otherServers: []
+  # User name and password used by Ansible to connect to the host for remote
+  # provisioning
+  user: 'vagrant'
+  password: 'vagrant'
+
+  # Specifies tasks within the head node provisioning not to execute, including:
+  #
+  # switch_support -   don't download the switch ONL images as there are no 
+  #                    switches in this configuration
+  # interface_config - don't update the network configuration of the headnode
+  #                    as it is configured by vagrant to the proper settings
+  skipTags:
+    - 'switch_support'
+    - 'interface_config'
+
+  # Specifies the extra settings required for this configuration
+  #
+  # virtualbox_support - install support for managing virtual box based
+  #                      compute nodes
+  extraVars:
+    - 'virtualbox_support=1'
+
+otherServers:
+  # Specifies the configuration for dynamically added compute nodes
+  location: 'http://gerrit.opencord.org/maas'
+  rolesPath: 'roles'
+  role: 'compute-node'
diff --git a/docs/quickstart.md b/docs/quickstart.md
index fa3da81..ff97cb4 100644
--- a/docs/quickstart.md
+++ b/docs/quickstart.md
@@ -1,12 +1,12 @@
-# OpenCORD Quick Start Guide
+# CORD Quick Start Guide
 
 [*This description is for a stand-alone bare-metal target server.
 If we succeed to bring up CORD on a VM, we will relax the text and
 go for the simpler experience.*]
 
-This tutorial walks you through the steps to bring up an OpenCORD "POD" on a single server.
-This deployment uses a simulated fabric, but it is good to get a quick feel
-for what is involved and how CORD works.
+This tutorial walks you through the steps to bring up a CORD "POD" on
+a single server.  This deployment uses a simulated fabric, but it is
+good to get a quick feel for what is involved and how CORD works.
 
 Specifically, the tutorial covers the following:
 
@@ -36,9 +36,9 @@
 * Ubuntu 14.04 LTS freshly installed (see [TBF]() for instruction on how to install Ubuntu 14.04).
 
 
-### Bring up an Use the OpenCORD Build Environment
+### Bring up and Use the CORD Build Environment
 
-On the build host, clone the OpenCORD integration repository and switch into its top directory:
+On the build host, clone the CORD integration repository and switch into its top directory:
 
 For now you can clone the repository anonymously:
 
@@ -49,7 +49,7 @@
 
 If -- for whatever reason -- you decide to clone the repo as a private
 repository using ssh, then you should add your private key to your local ssh
-forwarding agent, because we will clone additional OpenCORD repositories within
+forwarding agent, because we will clone additional CORD repositories within
 the Vagrant environment using the same git access mode, and this will require your
 local agent to know your identity:
 
@@ -57,7 +57,7 @@
    ssh-add ~/.ssh/id_rsa
    ```
 
-Bring up the standardized OpenCORD build and development environment (VM). This will take a few minutes, depending on your connection speed:
+Bring up the standardized CORD build and development environment (VM). This will take a few minutes, depending on your connection speed:
 
    ```
    vagrant up corddev
@@ -69,7 +69,7 @@
    vagrant ssh corddev
    ```
    
-Switch to the OpenCORD integration directory, which is shared from your host:
+Switch to the CORD integration directory, which is shared from your host:
 
    ```
    cd /opencord
@@ -121,7 +121,8 @@
    
 ### Congratulations
 
-If you got this far, you successfully built, deployed, and tested your first OpenCORD POD.
+If you got this far, you successfully built, deployed, and tested your
+first CORD POD.
 
 
 ### Further Steps
