diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,3 @@
+0.2
+---
+* Remove forgotten `undefined` that made failing tests crash.
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,66 @@
+tasty-html
+==========
+
+HTML test reporter for the Tasty test framework.
+
+
+## Example
+
+Here's how your `test.hs` might look like:
+
+```haskell
+import Test.Tasty
+import Test.Tasty.SmallCheck as SC
+import Test.Tasty.QuickCheck as QC
+import Test.Tasty.HUnit
+import Test.Tasty.Runners.Html
+
+import Data.List
+import Data.Ord
+
+main = defaultMainWithIngredients (htmlRunner:deafultIngredients) tests
+
+tests :: TestTree
+tests = testGroup "Tests" [properties, unitTests]
+
+properties :: TestTree
+properties = testGroup "Properties" [scProps, qcProps]
+
+scProps = testGroup "(checked by SmallCheck)"
+  [ SC.testProperty "sort == sort . reverse" $
+      \list -> sort (list :: [Int]) == sort (reverse list)
+  , SC.testProperty "Fermat's little theorem" $
+      \x -> ((x :: Integer)^7 - x) `mod` 7 == 0
+  -- the following property does not hold
+  , SC.testProperty "Fermat's last theorem" $
+      \x y z n ->
+        (n :: Integer) >= 3 SC.==> x^n + y^n /= (z^n :: Integer)
+  ]
+
+qcProps = testGroup "(checked by QuickCheck)"
+  [ QC.testProperty "sort == sort . reverse" $
+      \list -> sort (list :: [Int]) == sort (reverse list)
+  , QC.testProperty "Fermat's little theorem" $
+      \x -> ((x :: Integer)^7 - x) `mod` 7 == 0
+  -- the following property does not hold
+  , QC.testProperty "Fermat's last theorem" $
+      \x y z n ->
+        (n :: Integer) >= 3 QC.==> x^n + y^n /= (z^n :: Integer)
+  ]
+
+unitTests = testGroup "Unit tests"
+  [ testCase "List comparison (different length)" $
+      [1, 2, 3] `compare` [1,2] @?= GT
+
+  -- the following test does not hold
+  , testCase "List comparison (same length)" $
+      [1, 2, 3] `compare` [1,2,2] @?= LT
+  ]
+```
+
+And here is the output of the above program rendered to HTML:
+
+![](https://raw.github.com/feuerbach/tasty-html/master/screenshot.png)
+
+(Note that whether QuickCheck finds a counterexample to the third property is
+determined by chance.)
diff --git a/Test/Tasty/Runners/Html.hs b/Test/Tasty/Runners/Html.hs
--- a/Test/Tasty/Runners/Html.hs
+++ b/Test/Tasty/Runners/Html.hs
@@ -217,7 +217,7 @@
 mkFailure :: TestName
           -> String -- ^ Description for the test.
           -> Summary
-mkFailure testName desc = undefined
+mkFailure testName desc =
       ( mkSummary $ testItemMarkup
           testName
           (Just (desc, "text-error"))
diff --git a/tasty-html.cabal b/tasty-html.cabal
--- a/tasty-html.cabal
+++ b/tasty-html.cabal
@@ -1,5 +1,5 @@
 name:                tasty-html
-version:             0.1
+version:             0.2
 synopsis:            Render tasty output to HTML
 description:         A tasty ingredient to output test results in HTML5.
 license:             MIT
@@ -9,7 +9,7 @@
 homepage:            http://github.com/feuerbach/tasty-html
 category:            Testing
 build-type:          Simple
--- extra-source-files:  CHANGELOG
+extra-source-files:  README.md, CHANGELOG.md
 cabal-version:       >=1.10
 
 data-files:
