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/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
