diff --git a/other/readme-lhs.hsfiles b/other/readme-lhs.hsfiles
--- a/other/readme-lhs.hsfiles
+++ b/other/readme-lhs.hsfiles
@@ -257,4 +257,4 @@
   - .
 
 extra-deps:
-  - readme-lhs-0.2.1
+  - readme-lhs-0.2.2
diff --git a/readme-lhs.cabal b/readme-lhs.cabal
--- a/readme-lhs.cabal
+++ b/readme-lhs.cabal
@@ -1,6 +1,6 @@
 cabal-version: 1.12
 name:           readme-lhs
-version:        0.2.1
+version:        0.2.2
 synopsis:       See readme.md
 description:    See readme.md for description.
 category:       Development
@@ -55,8 +55,6 @@
   ghc-options: -funbox-strict-fields -fforce-recomp -threaded -rtsopts -with-rtsopts=-N
   build-depends:
       base >=4.7 && <5
-    , optparse-generic
-    , pandoc
     , protolude
     , readme-lhs
   default-language: Haskell2010
diff --git a/readme.md b/readme.md
--- a/readme.md
+++ b/readme.md
@@ -9,14 +9,14 @@
 [ghc options](https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/flags.html#flag-reference)
 --------------------------------------------------------------------------------------------------------
 
-``` haskell
+``` {.haskell}
 {-# OPTIONS_GHC -Wall #-}
 ```
 
 [pragmas](https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/lang.html)
 ------------------------------------------------------------------------------------
 
-``` haskell
+``` {.haskell}
 {-# LANGUAGE NoImplicitPrelude #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE DataKinds #-}
@@ -31,7 +31,7 @@
 -   [protolude](https://www.hackage.org/package/protolude)
 -   [readme-lhs](https://www.hackage.org/package/readme-lhs)
 
-``` haskell
+``` {.haskell}
 import Protolude
 import Readme.Lhs
 ```
@@ -41,34 +41,52 @@
 
 -   [hoogle](https://www.stackage.org/package/hoogle)
 
-``` haskell
+``` {.haskell}
 main :: IO ()
 main = do
   let n = 10
   let answer = product [1..n::Integer]
   void $ runOutput ("example.lhs", LHS) ("readme.md", GitHubMarkdown) $ do
-    output "example1" "Simple example of an output"
+    output "example1" (Fence "Simple example of an output")
 ```
 
-``` output
+``` {.output .example1}
 Simple example of an output
 ```
 
-``` haskell
-    output "example2" (show answer)
+``` {.haskell}
+    output "example2" (Fence (show answer))
 ```
 
 10! is equal to:
 
-``` output
+``` {.output .example2}
 3628800
 ```
 
-Output that doesn’t exist is simply cleared.
+As well as fenced output, output can be Text that replaces the {.output}
+code block
 
-``` output
+``` {.haskell}
+    output "example3" (Replace "Fenced code block was overwritten")
 ```
 
+Fenced code block was overwritten
+
+or be native pandoc.
+
+``` {.haskell}
+    output "example4" (Native [BulletList [[plain "a"], [plain "bullet"], [plain "list"]]])
+```
+
+-   a
+-   bullet
+-   list
+
+Output that doesn’t exist is simply cleared.
+
+Fenced code block was overwritten
+
 Technicals
 ==========
 
@@ -78,9 +96,11 @@
 -   literate haskell. Bird-tracks are used, as the alternative lhs
     method is latex. Pandoc can read this, but defaults to bird tracks
     when rendering `markdown+lhs`.
+
 -   markdown. All non bird-tracked lines are considered to be markdown.
     It’s probably incompatible with haddock. This might be easily
     fixable.
+
 -   fenced code blocks with an output class, which are used to insert
     computation results. The fenced code blocks look like:
 
