diff --git a/astview.cabal b/astview.cabal
--- a/astview.cabal
+++ b/astview.cabal
@@ -1,5 +1,5 @@
 Name:            astview
-Version:         0.1.1
+Version:         0.1.2
 License:         BSD4
 License-File:    LICENSE
 Author:          
@@ -28,6 +28,10 @@
                  data/HaskellExtParser.hs
                  data/astview.html
                  data/astview-tmpl.html
+                 data/EX1.hs
+                 data/EX2.hs
+                 data/EX3.hs
+                 data/EX4.hs
                  data/style.css
                  data/LICENSE.unwrapped
 
diff --git a/data/EX1.hs b/data/EX1.hs
new file mode 100644
--- /dev/null
+++ b/data/EX1.hs
@@ -0,0 +1,4 @@
+data Parser 
+  = Parser { name :: String
+           , exts :: [String]
+           , tree :: String -> Tree String}
diff --git a/data/EX2.hs b/data/EX2.hs
new file mode 100644
--- /dev/null
+++ b/data/EX2.hs
@@ -0,0 +1,12 @@
+haskell :: Parser
+haskell =  Parser "Haskell" [".hs"] buildTreeHaskell
+
+buildTreeHaskell :: String -> Tree String
+buildTreeHaskell s = case parseHaskell s of
+     Right ast -> flat $ data2tree (ast::HsModule)
+     Left ParseError -> Node "ParseError" []
+
+parseHaskell :: (Data a) => String -> Either ParseError a
+parseHaskell s = case parseModule s of
+  ParseOk p -> unsafeCoerce $ Right p
+  _         -> Left ParseError
diff --git a/data/EX3.hs b/data/EX3.hs
new file mode 100644
--- /dev/null
+++ b/data/EX3.hs
@@ -0,0 +1,2 @@
+parsers :: [Parser]
+parsers = haskell:stdParserData
diff --git a/data/EX4.hs b/data/EX4.hs
new file mode 100644
--- /dev/null
+++ b/data/EX4.hs
@@ -0,0 +1,25 @@
+user@host:path$ cd ~/.cabal/share/astview-0.2/data
+user@host:~/.cabal/share/astview-0.2/data$ ghci Parsers.hs
+
+-- ghci package-messages stripped
+
+*Parsers> :info Parser
+data Parser
+  = Parser {name :: !String,
+            exts :: [String],
+            tree :: String -> Tree String}
+
+-- show all registered parsers
+*Parsers> map name parsers                                            
+["Haskell","CSV","Expr","Java","IsoPascal","C","Glade","List"]
+
+-- get haskell parser
+*Parsers> let haskell = head parsers                                 
+
+-- build a sample tree of strings
+*Parsers> let sample = tree haskell "main = putStrLn \"Hello World\""
+
+-- draw the tree
+*Parsers> putStrLn $ Data.Tree.drawTree sample
+
+-- lengthy output follows
