diff --git a/src/Options/UU/Main.hs b/src/Options/UU/Main.hs
new file mode 100644
--- /dev/null
+++ b/src/Options/UU/Main.hs
@@ -0,0 +1,84 @@
+{-# LANGUAGE TemplateHaskell, FlexibleContexts, NoMonomorphismRestriction, TypeSynonymInstances, FlexibleInstances #-}
+module Main where
+import Data.Lenses.Template
+import Text.ParserCombinators.UU
+import Text.ParserCombinators.UU.BasicInstances
+import Text.ParserCombinators.UU.Utils
+import Text.ParserCombinators.UU.Interleaved
+import Options.UU.Interleaved
+import Data.Monoid
+import System.Environment
+
+-- We assume that we store our options in a data type for which we generate lenses
+
+data Prefers  =  Agda | Haskell deriving Show
+data Address  =  Address  {  city_ :: String
+                          ,  street_ :: String} 
+                 deriving Show
+data Name     =  Name  {  name_:: String 
+                       ,  prefers_:: Prefers
+                       ,  ints_ :: [Int]
+                       ,  address_ :: Address} 
+                 deriving Show
+
+$(deriveLenses ''Name)
+$(deriveLenses ''Address)
+
+instance ShowParserType Prefers where
+   showType p = " <Agda | Haskell> "
+
+-- The next thing to do is to specify a default record containing the default values:
+defaults = Name  "Atze" Haskell [] 
+                 (Address  "Utrecht" 
+                           "Princetonplein")
+
+-- Next we define the parser for the options, by specifying for each filed what may be specified:
+
+oName =
+                 name     `option`   ("name",       pString,      "Name")
+            <>   ints     `options`  ("ints",       pNaturalRaw,  "A couple of numbers") 
+            <>   prefers  `choose`   [("agda",      Agda,         "In case you prefer Agda")
+                                     ,("haskell",   Haskell,      "In case you prefer Haskell")
+                                     ] 
+            <>   address  `field`
+                           (   city     `option`  ("city",   pString, "Home city")  
+                           <>  street   `option`  ("street" ,pString, "Home Street" )
+                           )
+{-
+-- | The function `main` may serve as a template for your own option handling. You can also use this module to see what  the effectis  of the various ways of passing options
+-- >>> ./OptionsDemo -i1 --ints 2 --street=Zandlust -a -nDoaitse -i3 --ints=4 --city=Tynaarlo
+--     Name {name_ = "Doaitse", prefers_ = Agda, ints_ = [1,2,3,4], address_ = Address {city_ = "Tynaarlo", street_ = "Zandlust"}}
+--
+-- >>> ./OptionsDemo -i1 --ints 2 --street=Zandlust -nDoaitse -i3 --ints=4 --city=Tynaarlo
+--     --name           [Char]         optional  Name
+--     --ints           Int            recurring A couple of numbers
+--     Choose at least one from(
+--     --agda                          required  In case you prefer Agda
+--     --haskell                       required  In case you prefer Haskell
+--     )
+--     --city           [Char]         optional  Home city
+--     --street         [Char]         optional  Home Street
+--     --
+--     --  Correcting steps:
+--     --    Inserted  "-a" at position 70 expecting one of ["--agda", "--agda=", "--haskell", "--haskell=", "--ints=", "--ints", "-i", "-h", "-a"]
+--     --    Inserted  "\EOT" at position 70 expecting "\EOT"
+-}
+main  ::IO ()
+main = do args  <- getArgs
+          case run  defaults oName  (concat (map  (++ "\EOT") args)) of
+            Left a        -> case a of
+                                   Succes v -> print v
+                                   Help   t -> putStrLn t
+            Right errors  -> putStrLn errors
+
+-- | The function `demo` can be used from within ghci:
+{-
+-- >>> demo ["-i2", "--street=Zandlust", "--ints=5", "-nAtze", "--city=Houten"]
+--
+-}
+demo :: [[Char]] -> IO ()
+demo args =  case run  defaults oName  (concat (map  (++ "\EOT") args)) of
+                  Left a        -> case a of
+                                   Succes v -> print v
+                                   Help   t -> putStrLn t
+                  Right errors  -> putStr errors
diff --git a/src/Options/UU/OptionsDemo.hs b/src/Options/UU/OptionsDemo.hs
deleted file mode 100644
--- a/src/Options/UU/OptionsDemo.hs
+++ /dev/null
@@ -1,84 +0,0 @@
-{-# LANGUAGE TemplateHaskell, FlexibleContexts, NoMonomorphismRestriction, TypeSynonymInstances, FlexibleInstances #-}
-module Options.UU.OptionsDemo where
-import Data.Lenses.Template
-import Text.ParserCombinators.UU
-import Text.ParserCombinators.UU.BasicInstances
-import Text.ParserCombinators.UU.Utils
-import Text.ParserCombinators.UU.Interleaved
-import Options.UU.Interleaved
-import Data.Monoid
-import System.Environment
-
--- We assume that we store our options in a data type for which we generate lenses
-
-data Prefers  =  Agda | Haskell deriving Show
-data Address  =  Address  {  city_ :: String
-                          ,  street_ :: String} 
-                 deriving Show
-data Name     =  Name  {  name_:: String 
-                       ,  prefers_:: Prefers
-                       ,  ints_ :: [Int]
-                       ,  address_ :: Address} 
-                 deriving Show
-
-$(deriveLenses ''Name)
-$(deriveLenses ''Address)
-
-instance ShowParserType Prefers where
-   showType p = " <Agda | Haskell> "
-
--- The next thing to do is to specify a default record containing the default values:
-defaults = Name  "Atze" Haskell [] 
-                 (Address  "Utrecht" 
-                           "Princetonplein")
-
--- Next we define the parser for the options, by specifying for each filed what may be specified:
-
-oName =
-                 name     `option`   ("name",       pString,      "Name")
-            <>   ints     `options`  ("ints",       pNaturalRaw,  "A couple of numbers") 
-            <>   prefers  `choose`   [("agda",      Agda,         "In case you prefer Agda")
-                                     ,("haskell",   Haskell,      "In case you prefer Haskell")
-                                     ] 
-            <>   address  `field`
-                           (   city     `option`  ("city",   pString, "Home city")  
-                           <>  street   `option`  ("street" ,pString, "Home Street" )
-                           )
-{-
--- | The function `main` may serve as a template for your own option handling. You can also use this module to see what  the effectis  of the various ways of passing options
--- >>> ./OptionsDemo -i1 --ints 2 --street=Zandlust -a -nDoaitse -i3 --ints=4 --city=Tynaarlo
---     Name {name_ = "Doaitse", prefers_ = Agda, ints_ = [1,2,3,4], address_ = Address {city_ = "Tynaarlo", street_ = "Zandlust"}}
---
--- >>> ./OptionsDemo -i1 --ints 2 --street=Zandlust -nDoaitse -i3 --ints=4 --city=Tynaarlo
---     --name           [Char]         optional  Name
---     --ints           Int            recurring A couple of numbers
---     Choose at least one from(
---     --agda                          required  In case you prefer Agda
---     --haskell                       required  In case you prefer Haskell
---     )
---     --city           [Char]         optional  Home city
---     --street         [Char]         optional  Home Street
---     --
---     --  Correcting steps:
---     --    Inserted  "-a" at position 70 expecting one of ["--agda", "--agda=", "--haskell", "--haskell=", "--ints=", "--ints", "-i", "-h", "-a"]
---     --    Inserted  "\EOT" at position 70 expecting "\EOT"
--}
-main  ::IO ()
-main = do args  <- getArgs
-          case run  defaults oName  (concat (map  (++ "\EOT") args)) of
-            Left a        -> case a of
-                                   Succes v -> print v
-                                   Help   t -> putStrLn t
-            Right errors  -> putStrLn errors
-
--- | The function `demo` can be used from within ghci:
-{-
--- >>> demo ["-i2", "--street=Zandlust", "--ints=5", "-nAtze", "--city=Houten"]
---
--}
-demo :: [[Char]] -> IO ()
-demo args =  case run  defaults oName  (concat (map  (++ "\EOT") args)) of
-                  Left a        -> case a of
-                                   Succes v -> print v
-                                   Help   t -> putStrLn t
-                  Right errors  -> putStr errors
diff --git a/uu-options.cabal b/uu-options.cabal
--- a/uu-options.cabal
+++ b/uu-options.cabal
@@ -1,5 +1,5 @@
 Name:                uu-options
-Version:             0.1.0.0
+Version:             0.1.0.1
 Build-Type:          Simple
 License:             MIT
 Copyright:           S Doaitse Swierstra 
@@ -28,7 +28,7 @@
      location: https://svn.science.uu.nl/repos/project.STEC.uu-parsinglib/uu-options
 
 executable           demo-options
-  Main-is:           Options/UU/OptionsDemo.hs
+  Main-is:           Options/UU/Main.hs
   hs-source-dirs:    src
   Build-Depends:     base >= 4.2 && <5, uu-parsinglib >=2.8 && < 2.9, uu-interleaved >=0.1.0 && < 0.2, lenses >= 0.1.6 && < 0.1.7, transformers >= 0.3.0.0, mtl
 
@@ -36,5 +36,4 @@
   hs-source-dirs:    src
   Build-Depends:     base >= 4.2 && <5, uu-parsinglib >=2.8 && < 2.9, uu-interleaved >=0.1.0 && < 0.2, lenses >= 0.1.6 && < 0.1.7, transformers >= 0.3.0.0, mtl
   Exposed-modules:   Options.UU.Interleaved
-                     Options.UU.OptionsDemo
                      
