diff --git a/README.md b/README.md
index 1c58996..75602e8 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,16 @@
 # openstack-cluster-setup
 This repository contains [Ansible](http://docs.ansible.com) playbooks for installing and configuring an OpenStack Kilo cluster
-for use with XOS. This is how we build clusters for [OpenCloud](http://opencloud.us), but it should serve as a rough guide
-for any XOS-managed deployment (e.g., [CORD](http://cord.onosproject.org)).
+for use with XOS. This is how we build clusters for [OpenCloud](http://opencloud.us), and is the method of
+installing a [CORD](http://cord.onosproject.org) development POD as well.
 
 All of the OpenStack controller services are installed in VMs on a
 single "head node" and connected by an isolated private network. [Juju](http://www.ubuntu.com/cloud/tools/juju) is used
 to install and configure the OpenStack services.
 
-## Prerequisites
+## Prerequisites (OpenCloud and CORD)
 
-* *Set up control machine:* The install playbooks in this repository are designed to be run on a
-  separate control machine (e.g., a laptop).
+* *Set up control machine:* The install playbooks in this repository can either run on a
+  separate control machine (e.g., a laptop) or on the cluster head node.  Either way:
   * Install a recent version of Ansible (Ansible 1.9.x on Mac OS X or Ubuntu should work).
   * Be able to login to all of the cluster servers from the control machine using SSH.
 * *Set up servers:* One server in the cluster will be the "head" node, running the OpenStack
@@ -20,7 +20,27 @@
  * Each server should have a single active NIC (preferably eth0) with connectivity to the
    Internet.
 
-## How to use it
+## How to install a CORD POD
+
+In addition to the prerequisites above, the CORD POD installation procedure assumes that 
+there is a bridge called *mgmtbr* on the head node that is connected to the management
+network.  Also there must be a DHCP server on the management network to hand out IP addresses
+to VMs; if you need to set up dnsmasq to do this, take a look at [this example](files/etc/dnsmasq.d/cord).
+Then follow these steps:
+
+* Edit *cord-hosts* with the DNS names of your compute nodes, and update the *ansible_ssh_user* variable appropriately.
+  This needs to work: `ansible -i cord-hosts compute -m ping`
+* Run: `ansible-playbook -i cord-hosts cord-setup.yml`
+* After the playbook finishes, wait for the OpenStack services to come up.  You can check on their progress
+  using `juju status --format=tabular`
+* Once the services are up, you can use the `admin-openrc.sh` credentials in the home directory to 
+  interact with OpenStack.  You can SSH to any VM using `ssh ubuntu@<vm-name>`
+
+This will bring up various OpenStack services, including Neutron with the VTN plugin.  It will also create
+two VMs called *xos* and *onos-cord* and prep them. Configuring and running XOS and ONOS in these VMs is beyond
+the scope of this document.
+
+## How to install an OpenCloud cluster
 
 Once the prerequisites are satisfied, here are the basic steps for installing a new OpenCloud cluster named 'foo':
 
@@ -41,8 +61,8 @@
 $ ansible-playbook -i foo-hosts foo-compute.yaml
 ```
 
-## Things to note
+### Things to note
 
 * The installation configures port forwarding so that the OpenStack services can be accessed from outside the private network. Some OpenCloud-specific firewalling is also introduced, which will likely require modification for other setups.  See: [files/etc/libvirt/hooks/qemu](https://github.com/andybavier/opencloud-cluster-setup/blob/master/files/etc/libvirt/hooks/qemu).
 * By default the compute nodes are controlled and updated automatically using *ansible-pull* from [this repo](https://github.com/andybavier/opencloud-nova-compute-ansible).  You may want to change this.
-* All of the service interfaces are configured to use SSL because that's what OpenCloud uses in production.  Again, may not be what you want.  Look for the relevant Juju commands in *cloudlab-setup.yaml*.
+* All of the service interfaces are configured to use SSL because that's what OpenCloud uses in production.  To turn this off, look for the relevant Juju commands in *cloudlab-setup.yaml*.
