diff --git a/index.rst b/index.rst
index 8bcf3a3..da381f9 100644
--- a/index.rst
+++ b/index.rst
@@ -7,44 +7,70 @@
 ========
 
 Trellis is an **open-source multi-purpose L2/L3 leaf-spine switching fabric**.
-The development of Trellis over the last four years has been influenced by three core trends in the networking industry:
+
+The development of Trellis over the last four years has been influenced by
+three core trends in the networking industry:
 
 - First, **Trellis is built using bare-metal switches with merchant-silicon ASICs**.
   Instead of using OEM networking hardware, Trellis uses hardware directly from ODMs.
-  The trend of using bare-metal (white-box) switches is unmistakable in the networking industry today, spurred by the massive bandwidth-density and growing sophistication of merchant silicon ASICs.
-  Production quality Trellis today is based on EdgeCore switches with Broadcom Trident2, Tomahawk and Qumran switch ASICs.
-  The Trellis team continues to work towards including more ODMs and merchant silicon vendors.
 
-- Second, **Trellis is based on SDN principles**, to provide simpler, more flexible and easily customizable networks.
-  By externalizing the network’s control, management functions and policy decisions in the ONOS SDN controller,
-  Trellis provides network operators with a number of SDN benefits compared to traditional box-embedded network control.
-  These include centralized configuration, automation, operation and troubleshooting.
+  The trend of using bare-metal (white-box) switches is unmistakable in the
+  networking industry today, spurred by the massive bandwidth-density and
+  growing sophistication of merchant silicon ASICs.
+
+  Production quality Trellis today is based on EdgeCore switches with Broadcom
+  Trident2, Tomahawk and Qumran switch ASICs.  The Trellis team continues to
+  work towards including more ODMs and merchant silicon vendors.
+
+- Second, **Trellis is based on SDN principles**, to provide simpler, more
+  flexible and easily customizable networks.  By externalizing the network’s
+  control, management functions and policy decisions in the ONOS SDN
+  controller, Trellis provides network operators with a number of SDN benefits
+  compared to traditional box-embedded network control.  These include
+  centralized configuration, automation, operation and troubleshooting.
 
 - Third, **Trellis is open-source**.
-  The networking industry has seen an explosion of open source projects, and network operators have been eager to embrace open-source solutions.
-  Trellis allows operators unparalleled ability to customize Trellis for their application, integrate with the rest of their systems,
-  add features and APIs themselves and not be beholden to a traditional vendor’s timelines and prices.
-  An absence of commercial licenses lowers the bar for anyone to try out Trellis.
+  The networking industry has seen an explosion of open source projects, and
+  network operators have been eager to embrace open-source solutions.  Trellis
+  allows operators unparalleled ability to customize Trellis for their
+  application, integrate with the rest of their systems, add features and APIs
+  themselves and not be beholden to a traditional vendor’s timelines and
+  prices.  An absence of commercial licenses lowers the bar for anyone to try
+  out Trellis.
 
-Together, all three attributes of Trellis considerably lower the Total Cost of Ownership (TCO) for operators who plan to run it in production.
+Together, all three attributes of Trellis considerably lower the Total Cost of
+Ownership (TCO) for operators who plan to run it in production.
 
 .. note::
-    You can learn more about Trellis features and design concepts by visiting the `Project Website <https://opennetworking.org/trellis>`_ and
-    reading the `Platform Brief <https://www.opennetworking.org/wp-content/uploads/2019/09/TrellisPlatformBrief.pdf>`_.
+    You can learn more about Trellis features and design concepts by visiting
+    the `Project Website <https://opennetworking.org/trellis>`_ and reading the
+    `Platform Brief
+    <https://www.opennetworking.org/wp-content/uploads/2019/09/TrellisPlatformBrief.pdf>`_.
 
 
 Highlights
 ==========
-- Classic-SDN Control with ONOS to directly program ASIC forwarding tables in bare metal switches with merchant silicon
-- L2 forwarding (Bridging) within server-racks and L3 forwarding (Routing) across racks
-- MPLS Segment routing for better scale and reduced programming
-- Control plane functionality with Trellis vRouter for external connectivity
-- N-way redundancy and tier-1 telecom operator scale
-- Support for different use cases ranging from Central Office to backhaul in operator networks
-- Single-pane-of-glass monitoring and troubleshooting with ONOS
-- CapEx and OpEx savings with white-box hardware and open source software
-- Future Proof: P4 and Stratum integration to unlock advanced capabilities
 
+- Classic-SDN Control with ONOS to directly program ASIC forwarding tables in
+  bare metal switches with merchant silicon
+
+- L2 forwarding (Bridging) within server-racks and L3 forwarding (Routing)
+  across racks
+
+- MPLS Segment routing for better scale and reduced programming
+
+- Control plane functionality with Trellis vRouter for external connectivity
+
+- N-way redundancy and tier-1 telecom operator scale
+
+- Support for different use cases ranging from Central Office to backhaul in
+  operator networks
+
+- Single-pane-of-glass monitoring and troubleshooting with ONOS
+
+- CapEx and OpEx savings with white-box hardware and open source software
+
+- Future Proof: P4 and Stratum integration to unlock advanced capabilities
 
 Use Cases
 =========
@@ -73,11 +99,17 @@
 
 Get Started
 ===========
-- Read the `Quick Start <quickstart.html>`_ guide and get some hands on experiences.
-- Stay in touch by joining
 
-  - `Trellis Developer Mailing List <https://groups.google.com/a/opennetworking.org/forum/#!forum/trellis-dev>`_
-  - \#trellis channel in `ONOS Slack <https://onosproject.slack.com>`_ (`register <https://slackin.onosproject.org/>`_)
+- Read the `Quick Start <quickstart.html>`_ guide and get some hands on
+  experiences.
+
+- Stay in touch by joining:
+
+  - `Trellis Developer Mailing List
+    <https://groups.google.com/a/opennetworking.org/forum/#!forum/trellis-dev>`_
+
+  - \#trellis channel in `ONOS Slack <https://onosproject.slack.com>`_
+    (`register <https://slackin.onosproject.org/>`_)
 
 .. toctree::
    :maxdepth: 1
