diff --git a/Gemfile.lock b/Gemfile.lock
index bad7b96..49f79dd 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -21,14 +21,14 @@
       multipart-post (>= 1.2, < 3)
     ffi (1.9.10)
     gemoji (2.1.0)
-    github-pages (66)
+    github-pages (67)
       RedCloth (= 4.2.9)
       github-pages-health-check (= 1.1.0)
       jekyll (= 3.0.3)
       jekyll-coffeescript (= 1.0.1)
       jekyll-feed (= 0.4.0)
       jekyll-gist (= 1.4.0)
-      jekyll-github-metadata (= 1.9.0)
+      jekyll-github-metadata (= 1.10.0)
       jekyll-mentions (= 1.1.2)
       jekyll-paginate (= 1.1.0)
       jekyll-redirect-from (= 0.10.0)
@@ -68,7 +68,7 @@
     jekyll-feed (0.4.0)
     jekyll-gist (1.4.0)
       octokit (~> 4.2)
-    jekyll-github-metadata (1.9.0)
+    jekyll-github-metadata (1.10.0)
       octokit (~> 4.0)
     jekyll-mentions (1.1.2)
       html-pipeline (~> 2.3)
@@ -112,7 +112,7 @@
     redcarpet (3.3.3)
     rouge (1.10.1)
     safe_yaml (1.0.4)
-    sass (3.4.21)
+    sass (3.4.22)
     sawyer (0.7.0)
       addressable (>= 2.3.5, < 2.5)
       faraday (~> 0.8, < 0.10)
@@ -127,8 +127,8 @@
   ruby
 
 DEPENDENCIES
-  github-pages (= 66)
+  github-pages (= 67)
   json
 
 BUNDLED WITH
-   1.11.2
+   1.12.0.pre.2
diff --git a/index.md b/index.md
index 54b2429..2541962 100644
--- a/index.md
+++ b/index.md
@@ -7,16 +7,11 @@
 
 Zipkin is a distributed tracing system. It helps gather timing data needed to
 troubleshoot latency problems in microservice architectures. It manages both the
-collection and lookup of this data through a Collector and a Query service.
+collection and lookup of this data.
 Zipkin’s design is based on the
 [Google Dapper](http://research.google.com/pubs/pub36356.html) paper.
 
-Collecting traces helps developers gain deeper knowledge about how certain
-requests perform in a distributed system. Let’s say we’re having problems with
-user requests timing out. We can look up traced requests that timed out and
-display it in the web UI. We’ll be able to quickly find the service responsible
-for adding the unexpected response time. If the service has been annotated
-adequately we can also find out where in that service the issue is happening.
+Applications are instrumented to report timing data to Zipkin. The Zipkin UI also presents a Dependency diagram showing how many traced requests went through each application. If you are troubleshooting latency problems or errors, you can filter or sort all traces based on the application, length of trace, annotation, or timestamp. Once you select a trace, you can see the percentage of the total trace time each span takes which allows you to identify the problem application. 
 
 ## Where to go next?
 
diff --git a/pages/architecture.md b/pages/architecture.md
index 60763e7..de55c42 100644
--- a/pages/architecture.md
+++ b/pages/architecture.md
@@ -4,53 +4,50 @@
 ---
 
 
-These are the components that make up a fully fledged tracing system.
-
-![Architecture overview]({{ site.github.url }}/public/img/architecture-0.png)
 
 Instrumented libraries
 ----------------------
 
 Tracing information is collected on each host using the instrumented libraries
 and sent to Zipkin. When the host makes a request to another service, it passes
-a few tracing identifers along with the request so we can later tie the data
+a few tracing identifiers along with the request so we can later tie the data
 together.
 
 ![Instrumentation architecture]({{ site.github.url }}/public/img/architecture-1.png)
 
 To see if an instrumentation library already exists for your platform, see the
-list of [existing instrumentations]({{ site.github.url
-}}/pages/existing_instrumentations).
+list of [existing instrumentations]({{ site.github.url}}/pages/existing_instrumentations).
+
+![Architecture overview]({{ site.github.url }}/public/img/architecture-0.png)
 
 Transport
 ---------
 
-Spans must be transported from the services being traced to Zipkin collectors.
-There are two primary transports, Scribe and Kafka. Scribe is deprecated.
+Spans sent by the instrumented library must be transported from the services being traced to Zipkin collectors.
+There are two primary transports: Scribe and Kafka. Scribe is shown in the figure. See [Span Receivers]({{ site.github.url }}/pages/span_receivers) for more information.
 
-Zipkin Collector
-----------------
+There are 4 components that make up Zipkin:
+* collector
+* storage
+* search
+* web UI
 
-Once the trace data arrives at the Zipkin collector daemon we check that it's
-valid, store it and the index it for lookups.
+### Zipkin Collector
 
-Storage
--------
+Once the trace data arrives at the Zipkin collector daemon, it is validated, stored, and indexed for lookups by the Zipkin collector.
 
-We originally built Zipkin on Cassandra for storage. It's scalable, has a
+### Storage
+
+Zipkin was initially built to store data on Cassandra since Cassandra is scalable, has a
 flexible schema, and is heavily used within Twitter. However, we made this
-component pluggable, and we now have support for Redis and MySQL.
+component pluggable. In addition to Cassandra, we support Redis and MySQL.
 
-Zipkin Query Service
---------------------
+### Zipkin Query Service
 
-Once the data is stored and indexed we need a way to extract it. This is where
-the query daemon comes in, providing a simple JSON api for finding and retrieving
-traces. The primary consumer of this api is the Web UI.
+Once the data is stored and indexed, we need a way to extract it. The query daemon provides a simple JSON API for finding and retrieving traces. The primary consumer of this API is the Web UI.
 
-Web UI
-------
+### Web UI
 
-A GUI that presents a nice face for viewing traces. The web UI provides a
-method for viewing traces based on service, time, and  annotations. Note
-that there is no built in authentication in the UI.
+We created a GUI that presents a nice interface for viewing traces. The web UI provides a
+method for viewing traces based on service, time, and annotations.
+Note: there is no built-in authentication in the UI!
diff --git a/pages/existing_instrumentations.md b/pages/existing_instrumentations.md
index bf45052..33581a5 100644
--- a/pages/existing_instrumentations.md
+++ b/pages/existing_instrumentations.md
@@ -4,8 +4,8 @@
 ---
 
 Tracing information is collected on each host using the instrumented libraries
-and sent to Zipkin. When the host makes a request to another service, it propagates
-a few tracing identifiers along with the request so we can later tie the data
+and sent to Zipkin. When the host makes a request to another application, it passes
+a few tracing identifiers along with the request to Zipkin so we can later tie the data
 together into spans.
 
 The following libraries exist to provide instrumentation on various platforms.
diff --git a/pages/instrumenting.md b/pages/instrumenting.md
index 1d19716..78765c4 100644
--- a/pages/instrumenting.md
+++ b/pages/instrumenting.md
@@ -4,19 +4,25 @@
 
 This is an advanced topic. Before reading further, you may want to check whether
 an instrumentation library for your platform [already exists]({{ site.github.url
-}}/pages/existing_instrumentations).
+}}/pages/existing_instrumentations). If not and if you want to take on creating an instrumentation library, first things first; jump on
+[Zipkin Gitter chat channel](https://gitter.im/openzipkin/zipkin) and let us know. We'll be extremely
+happy to help you along the way.
 {: .message}
 
-So you want to send traces to Zipkin, and there is no existing library for your
-platform. If you want to take on creating an instrumentation library, here's
-what you'll need to do. First things first: jump on
-[Zipkin Gitter chat channel](https://gitter.im/openzipkin/zipkin). We'll be extremely
-happy to help you along the way.
+Overview
+=======
+To instrument a library, you'll need to understand and create the following elements:
+1. Core data structures - the information that is collected and sent to Zipkin
+1. Trace identifiers - what tags for the information are needed so it can be reassembled in a logical order by Zipkin
+  * Generating identifiers - how to generate these Ids and which ids should be inherited
+  * Communicating trace information - additional information that is sent to Zipkin along with the traces and their IDs.
+
+
 
 Alright, ready? Here we go.
 
 Core data structures
---------------------
+=====
 
 First, there are a core set of structures that we need:
 
@@ -27,13 +33,13 @@
 
 * **cs** - Client Start. The client has made the request. This sets the
   beginning of the span.
-* **sr** - Server Receive. The server has received the request and will start
+* **sr** - Server Receive: The server has received the request and will start
   processing it. The difference between this and `cs` will be combination of
   network latency and clock jitter.
-* **ss** - Server Send. The server has completed processing and has sent the
+* **ss** - Server Send: The server has completed processing and has sent the
   request back to the client. The difference between this and `ss` will be the
   amount of time it took the server to process the request.
-* **cr** - Client Recieve. The client has received the response from the server.
+* **cr** - Client Receiver: The client has received the response from the server.
   This sets the end of the span. The RPC is considered complete when this
   annotation is recorded.
 
@@ -46,7 +52,7 @@
 **BinaryAnnotation**
 
 Binary annotations do not have a time component. They are meant to provide extra
-information about the RPC. For instance, when calling an HTTP service providing
+information about the RPC. For instance when calling an HTTP service, providing
 the URI of the call will help with later analysis of requests coming into the
 service.
 
@@ -64,9 +70,9 @@
 through the system.
 
 Trace identifiers
------------------
+=====
 
-In order to reassmble a set of spans into a full trace three pieces of
+In order to reassemble a set of spans into a full trace three pieces of
 information are required. These are all 64 bits long.
 
 **Trace Id**
@@ -109,27 +115,25 @@
 -------------------------------
 
 Trace information needs to be passed between upstream and downstream services in
-order to reassemble a complete trace. Five pieces of information are required:
+order to reassemble a complete trace.  Five pieces of information are required:
 
 * Trace Id
 * Span Id
 * Parent Id
-* Is Sampled
-* Flags
-
-"Is Sampled" lets the downstream service know if it should record trace
+* Sampled - Lets the downstream service know if it should record trace
 information for the request.
-
-"Flags" provide the ability to create and communicate feature flags. This is how
+* Flags - Provides the ability to create and communicate feature flags. This is how
 we can tell downstream services that this is a "debug" request.
 
-Finagle provides mechanisms for passing this information with Http and Thrift
+Check [here](https://github.com/openzipkin/brave/blob/e474ed1e1cd291c7ebc6830c58fdba0a6318fdd2/brave-http/src/main/java/com/github/kristofa/brave/http/BraveHttpHeaders.java) for the format
+
+Finagle provides mechanisms for passing this information with HTTP and Thrift
 requests. Other protocols will need to be augmented with the information for
 tracing to be effective.
 
-**Http Tracing**
+**HTTP Tracing**
 
-Http headers are used to pass along trace information:
+HTTP headers are used to pass along trace information.
 
 The B3 portion of the header is so named for the original name of Zipkin:
 BigBrotherBird.
diff --git a/pages/span_receivers.md b/pages/span_receivers.md
index a34b767..d564dbc 100644
--- a/pages/span_receivers.md
+++ b/pages/span_receivers.md
@@ -1,21 +1,8 @@
 ---
-title: Span Receivers
+title: Transports
 ---
 
-A `SpanReceiver` is responsible for collecting spans from services, converting
+A transport is responsible for collecting spans from services, converting
 them to a Zipkin common Span, and passing them to the storage layer. This
-approach is modular which allows for receivers that accept any type of data
-from any producer. Zipkin comes with a receiver for Scribe and one for
-Kafka.
-
-Scribe Receiver
----------------
-
-Scribe was the logging framework in use at Twitter to transport trace data when
-Zipkin was created.
-------
-
-For small architectures, tracers can be setup to send directly to the Zipkin
-collectors. The ScribeSpanReceiver expects a Scribe log entry with a Base64-encoded, binary serialized thrift Span using the "zipkin" category. This
-category is configurable via a command line flag. Finagle-Zipkin does this
-automatically.
+approach is modular which allows for transports that accept any type of data
+from any producer. Zipkin comes with transports for HTTP, Kafka, and Scribe.
