diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,39 @@
+# Vivid - *music and sound synthesis in Haskell*
+
+## Example usage:
+
+```haskell
+{-# LANGUAGE DataKinds #-}
+
+import Vivid
+
+theSound = sd (0 ::I "note") $ do
+    wobble <- sinOsc (freq_ 5) ? KR ~* 10 ~+ 10
+    s <- 0.1 ~* sinOsc (freq_ $ midiCPS (V::V "note") ~+ wobble)
+    out 0 [s,s]
+
+playSong = do
+    fork $ do
+        s0 <- synth theSound (36 ::I "note")
+        wait 1
+        free s0
+    s1 <- synth theSound (60 ::I "note")
+    forM_ [62,66,64] $ \note -> do
+        wait (1/4)
+        set s1 (note ::I "note")
+    wait (1/4)
+    free s1
+
+main = do
+    putStrLn "Simplest:"
+    playSong
+
+    putStrLn "With precise timing:"
+    doScheduledIn 0.1 playSong
+    wait 1
+
+    putStrLn "Written to a file, non-realtime synthesis:"
+    putStrLn "(Need to quit the running server for NRT)"
+    quitSCServer
+    writeNRT "/tmp/song.wav" playSong
+```
diff --git a/vivid.cabal b/vivid.cabal
--- a/vivid.cabal
+++ b/vivid.cabal
@@ -1,5 +1,5 @@
 name:                vivid
-version:             0.5.0.0
+version:             0.5.0.1
 synopsis:            Sound synthesis with SuperCollider
 description:         
   Music and sound synthesis with SuperCollider.
@@ -51,6 +51,8 @@
 cabal-version:       >=1.10
 stability:           experimental
 license:             GPL
+extra-source-files:
+  README.md
 
 library
   exposed-modules:
@@ -157,6 +159,8 @@
     , containers
 
     , directory
+
+    , dlist
 
       -- Lower bound:
       --    1.0 is the oldest version with 'takeExtension'
