diff --git a/docs/appendix_basic_config.md b/docs/appendix_basic_config.md
index 6301ad0..b2ba2aa 100644
--- a/docs/appendix_basic_config.md
+++ b/docs/appendix_basic_config.md
@@ -5,67 +5,6 @@
 
 Each leaf switch on the fabric corresponds to a separate IP subnet.  The recommended configuration is a POD with two leaves; the leaf1 subnet is `10.6.1.0/24` and the leaf2 subnet is `10.6.2.0/24`.
 
-##Configure the Compute Nodes
-
-The compute nodes must be configured with data plane IP addresses appropriate to their subnet.  The POD build process assigns data plane IP addresses to nodes, but it is not subnet-aware and so IP addresses must be changed for compute nodes on the leaf2 switch.
-
-###Assign IP addresses
-
-Log into the XOS GUI an click on `Core`, then `Tags`.  Each compute node is tagged with its data plane IP address.  For nodes connected to leaf2, change the `dataPlaneIp` tag to a unique IP address on the `10.6.2.0/24` subnet and click `Save`.
-
-XOS will communicate the new IP address to the ONOS VTN app, which will change it on the nodes.  Once the switches are connected to ONOS as part of the fabric configuration process (see subsequent sections), log into each compute node and verify that `br-int` has the new IP address:
-
-```
-ip addr list br-int
-```
-
-###Add Routes to Fabric Subnets
-
-Routes must be manually configured on the compute nodes so that traffic between nodes on different leaves will be forwarded via the local spine switch.
-
-Run commands of this form on each compute node:
-
-```
-sudo ip route add <remote-leaf-subnet> via <local-spine-ip>
-```
-
-In this configuration, on the nodes attached to leaf1 (including the head node), run:
-
-```
-sudo ip route add 10.6.2.0/24 via 10.6.1.254
-```
-
-Likewise, on the compute nodes attached to leaf2, run:
-
-```
-sudo ip route add 10.6.1.0/24 via 10.6.2.254
-```
-
->NOTE: it’s strongly suggested to add it as a permanent route to the nodes, so the route will still be there after a reboot
-
-##Configure NAT Gateway on the Head Node (Optional)
-
-In a production POD, a vRouter is responsible for providing connectivity between the fabric and the Internet, but this requires configuring BGP peering between the vRouter and an upstream router.  In environments where this is not feasible, it is possible to use the head node as a NAT gateway for the fabric by configuring some routes on the head node and in ONOS as described below.
-
-###Add Routes for Fabric Subnets
-
-The default POD configuration uses the `10.7.1.0/24` subnet for vSG traffic to the Internet, and `10.8.1.0/24` for other Internet traffic.  Add routes on the head node to forward traffic to these subnets into the fabric:
-
-```
-sudo route add -net 10.7.1.0/24 gw 10.6.1.254
-sudo route add -net 10.8.1.0/24 gw 10.6.1.254
-```
-
-###Add Default Route to Head Node from Fabric
-
-ONOS must be configured to forward all outgoing Internet traffic to the head node's fabric interface, which by default has IP address `10.6.1.1`:
-
-```
-ssh -p 8101 onos@onos-fabric route-add 0.0.0.0/0 10.6.1.1
-```
-
->NOTE: When prompted, use password "rocks".
-
 ##Configure the Fabric:  Overview
 
 A service running on the head node can produce an ONOS network configuration to control the leaf and spine network fabric. This configuration is generated by querying ONOS for the known switches and compute nodes and producing a JSON structure that can be posted to ONOS to implement the fabric.
@@ -129,6 +68,67 @@
 
 >NOTE: It may take a few seconds for the switches to initialize and connect to ONOS
 
+##Configure the Compute Nodes
+
+Before connecting to ONOS, the compute nodes must be configured with data plane IP addresses appropriate to their subnet.  The POD build process assigns data plane IP addresses to nodes, but it is not subnet-aware and so IP addresses must be changed for compute nodes on the leaf2 switch.
+
+###Assign IP addresses
+
+Log into the XOS GUI an click on `Core`, then `Tags`.  Each compute node is tagged with its data plane IP address.  For nodes connected to leaf2, change the `dataPlaneIp` tag to a unique IP address on the `10.6.2.0/24` subnet and click `Save`.
+
+XOS will communicate the new IP address to the ONOS VTN app, which will change it on the nodes.  Once the switches are connected to ONOS as part of the fabric configuration process (see subsequent sections), log into each compute node and verify that `br-int` has the new IP address:
+
+```
+ip addr list br-int
+```
+
+###Add Routes to Fabric Subnets
+
+Routes must be manually configured on the compute nodes so that traffic between nodes on different leaves will be forwarded via the local spine switch.
+
+Run commands of this form on each compute node:
+
+```
+sudo ip route add <remote-leaf-subnet> via <local-spine-ip>
+```
+
+In this configuration, on the nodes attached to leaf1 (including the head node), run:
+
+```
+sudo ip route add 10.6.2.0/24 via 10.6.1.254
+```
+
+Likewise, on the compute nodes attached to leaf2, run:
+
+```
+sudo ip route add 10.6.1.0/24 via 10.6.2.254
+```
+
+>NOTE: it’s strongly suggested to add it as a permanent route to the nodes, so the route will still be there after a reboot
+
+##Configure NAT Gateway on the Head Node (Optional)
+
+In a production POD, a vRouter is responsible for providing connectivity between the fabric and the Internet, but this requires configuring BGP peering between the vRouter and an upstream router.  In environments where this is not feasible, it is possible to use the head node as a NAT gateway for the fabric by configuring some routes on the head node and in ONOS as described below.
+
+###Add Routes for Fabric Subnets
+
+The default POD configuration uses the `10.7.1.0/24` subnet for vSG traffic to the Internet, and `10.8.1.0/24` for other Internet traffic.  Add routes on the head node to forward traffic to these subnets into the fabric:
+
+```
+sudo route add -net 10.7.1.0/24 gw 10.6.1.254
+sudo route add -net 10.8.1.0/24 gw 10.6.1.254
+```
+
+###Add Default Route to Head Node from Fabric
+
+ONOS must be configured to forward all outgoing Internet traffic to the head node's fabric interface, which by default has IP address `10.6.1.1`:
+
+```
+ssh -p 8101 onos@onos-fabric route-add 0.0.0.0/0 10.6.1.1
+```
+
+>NOTE: When prompted, use password "rocks".
+
 ##Connect Compute Nodes to ONOS
 
 To make sure that ONOS is aware of the compute nodes, the following commands will send a ping over the fabric interface on the head node and each compute node.
@@ -225,7 +225,7 @@
                 "adjacencySids": []
             }
         },
-	...
+    ...
 ```
 
 >NOTE: When prompt, use password "rocks"
