diff --git a/README.md b/README.md
index fb1fab7..97a2af8 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
 # errors [![Travis-CI](https://travis-ci.org/pkg/errors.svg)](https://travis-ci.org/pkg/errors) [![GoDoc](https://godoc.org/github.com/pkg/errors?status.png)](http://godoc.org/github.com/pkg/errors)
 
-Read the [presentation](https://t.co/GGPr7HJZYR) to see what the big deal is, blog post coming next week.
+Would you like to know more? Read the [original presentation](https://t.co/GGPr7HJZYR), blog post coming soon.
 
 Licence: MIT
diff --git a/errors.go b/errors.go
index 9dfc271..1a3589c 100644
--- a/errors.go
+++ b/errors.go
@@ -1,4 +1,49 @@
 // Package errors implements functions for manipulating errors.
+//
+// The tranditional error handling idiom in Go is roughly akin to
+//
+//      if err != nil {
+//              return err
+//      }
+//
+// which applied recursively up the call stack results in error reports
+// without context or debugging information. The errors package allows
+// programmers to add context to the failure path in their code in a way
+// that does not destroy the original value of the error.
+//
+// Adding context to an error
+//
+// The errors.Wrap function returns a new error that adds context to the
+// original error. For example
+//
+//      _, err := ioutil.ReadAll(r)
+//      if err != nil {
+//              return errors.Wrap(err, "read failed")
+//
+// In addition, errors.Wrap records the file and line where it was called,
+// allowing the programmer to retrieve the path to the original error.
+//
+// Retrieving the cause of an error
+//
+// Using errors.Wrap constructs a stack of errors, adding context to the
+// preceeding error. Depending on the nature of the error it may be necessary
+// to recerse the operation of errors.Wrap to retrieve the original error
+// for inspection. Any error value which implements this interface
+//
+//     type causer interface {
+//          Cause() error
+//     }
+//
+// Can be inspected by errors.Cause which will recursively retrieve the topmost
+// error which does nor implement causer, which is assumed to be the original
+// cause. For example:
+//
+//     switch err := errors.Cause(err).(type) {
+//     case *MyError:
+//             // handle specifically
+//     default:
+//             // unknown error
+//     }
 package errors
 
 import (
