diff --git a/xos/configurations/cord-pod/README.md b/xos/configurations/cord-pod/README.md
index b1304b7..871bd30 100644
--- a/xos/configurations/cord-pod/README.md
+++ b/xos/configurations/cord-pod/README.md
@@ -81,43 +81,55 @@
 
 They will have been put there for you by the cluster installation scripts.
 
-**If your setup uses the CORD fabric**, you need to modify the autogenerated VTN
-configuration and node tags, and edit `cord-vtn-vsg.yml` as follows.
-
- 1. The VTN app configuration is autogenerated by XOS.  For more information
-about the configuration, see [this page on the ONOS Wiki](https://wiki.onosproject.org/display/ONOS/CORD+VTN),
-under the **ONOS Settings** heading.  To see the generated
-configuration, go to http://xos/admin/onos/onosapp/, click on
-*VTN_ONOS_app*, then the *Attributes* tab, and look for the
-`rest_onos/v1/network/configuration/` attribute.  You can edit this
-configuration after deleting the `autogenerate` attribute (otherwise XOS will
-overwrite your changes), or you can change the other
-attributes and delete  `rest_onos/v1/network/configuration/` in order
-to get XOS to regenerate it.
-
- 2. The process of autoconfiguring VTN also assigns some default values to per-node parameters.  Go to
- http://xos/admin/core/node/, select a node, then select the *Tags* tab.  Configure the following:
-  * `bridgeId` (the ID to set on the node's br-int)
-  * `dataPlaneIntf` (the data plane interface for the fabric on the node)
-  * `dataPlaneIp` (the IP address for the node on the fabric)
-
- 3. Modify `cord-vtn-vsg.yml` and set these parameters to the
-appropriate values for the fabric:
-  * `addresses_vsg:properties:addresses` (IP address block of fabric)
-  * `addresses_vsg:properties:gateway_ip` 
-  * `addresses_vsg:properties:gateway_mac` 
-
-If you're not using the fabric then the default values should be OK.  
-
 XOS can then be brought up for CORD by running a few `make` commands:
+
 ```
 ubuntu@xos:~/xos/xos/configurations/cord-pod$ make
+```
+
+After this you will be able to login to the XOS GUI at
+*http://xos/* using username/password `padmin@vicci.org/letmein`.
+Before proceeding, you should verify that objects in XOS are
+being sync'ed with OpenStack.  Log into the GUI and select *Users*
+at left.  Make sure there is a green check next to `padmin@vicci.org`.
+
+Next, you may need to edit `vtn-external.yml` so that `rest_hostname:`
+points to the host where ONOS should run the VTN app.  Then run:
+
+```
 ubuntu@xos:~/xos/xos/configurations/cord-pod$ make vtn
+```
+The above step configures the ONOS VTN app by generating a configuration
+and pushing it to ONOS.  **If you are not setting up the single-node development POD**, you will 
+need to modify the generated configuration via the XOS GUI. (The defaults
+should be OK for the single-node POD.)  For more information
+about how to configure VTN, see [this page on the ONOS Wiki](https://wiki.onosproject.org/display/ONOS/CORD+VTN),
+under the **ONOS Settings** heading.   
+
+* To see the generated configuration, go to http://xos/admin/onos/onosapp/, select
+*VTN_ONOS_app*, then the *Attributes* tab, and look for the
+`rest_onos/v1/network/configuration/` attribute.  
+
+* To change `privateGatewayMac`, `localManagementIp`, `ovsdbPort`, `sshPort`, 
+`sshUser` or `sshKeyFile` in the generated configuration, select *Services* at 
+left in the XOS GUI, then *service_vtn*.  Modify these fields under *VTN Service Details*
+and then select *Save*.
+
+* To change `bridgeId`, `dataPlaneIntf`, or `dataPlaneIp` for a particular compute node, go to
+http://xos/admin/core/node/, select a node, then select the *Tags* tab.  Modify the appropriate tag
+and then select *Save*.
+
+* After modifying the above fields, delete the `rest_onos/v1/network/configuration/` attribute
+in the *ONOS_VTN_app* and select *Save*.  The attribute will be regenerated using the new information.
+
+Finally modify `cord-vtn-vsg.yml` and change `addresses_vsg` so that it contains the IP address block,
+gateway IP, and gateway MAC of the fabric.  (Again, the defaults are fine for the single-node POD.)
+Then run:
+
+```
 ubuntu@xos:~/xos/xos/configurations/cord-pod$ make cord
 ```
 
-After the first 'make' command above, you will be able to login to XOS at
-*http://xos/* using username/password `padmin@vicci.org/letmein`.
 
 ### Inspecting the vSG
 
