diff --git a/demo/ConfirmExample.hs b/demo/ConfirmExample.hs
new file mode 100644
--- /dev/null
+++ b/demo/ConfirmExample.hs
@@ -0,0 +1,9 @@
+module ConfirmExample where
+
+import FortyTwo (confirm, confirmWithDefault)
+
+main :: IO Bool
+main = do
+  confirm "Do you like music?"
+  confirmWithDefault "Do you like pop music?" False
+  confirmWithDefault "Do you play an instrument?" True
diff --git a/demo/InputExample.hs b/demo/InputExample.hs
new file mode 100644
--- /dev/null
+++ b/demo/InputExample.hs
@@ -0,0 +1,8 @@
+module InputExample where
+
+import FortyTwo (input, inputWithDefault)
+
+main :: IO String
+main = do
+  input "What's your name?"
+  inputWithDefault "How old are you?" "22"
diff --git a/demo/Main.hs b/demo/Main.hs
new file mode 100644
--- /dev/null
+++ b/demo/Main.hs
@@ -0,0 +1,16 @@
+module Main where
+
+import qualified InputExample
+import qualified ConfirmExample
+import qualified PasswordExample
+import qualified SelectExample
+import qualified MultiselectExample
+
+main :: IO()
+main = do
+  InputExample.main
+  ConfirmExample.main
+  MultiselectExample.main
+  SelectExample.main
+  PasswordExample.main
+  return ()
diff --git a/demo/MultiselectExample.hs b/demo/MultiselectExample.hs
new file mode 100644
--- /dev/null
+++ b/demo/MultiselectExample.hs
@@ -0,0 +1,11 @@
+module MultiselectExample where
+
+import FortyTwo (multiselect, multiselectWithDefault)
+
+main :: IO [String]
+main = do
+  multiselect "Which kind of sports do you like?" ["Soccer", "Tennis", "Golf"]
+  multiselectWithDefault
+    "What are your favourite books?"
+    ["1984", "Moby Dick", "The Hitchhiker's Guide to the Galaxy"]
+    ["1984", "The Hitchhiker's Guide to the Galaxy"]
diff --git a/demo/PasswordExample.hs b/demo/PasswordExample.hs
new file mode 100644
--- /dev/null
+++ b/demo/PasswordExample.hs
@@ -0,0 +1,6 @@
+module PasswordExample where
+
+import FortyTwo (password)
+
+main :: IO String
+main = password "What's your secret password?"
diff --git a/demo/SelectExample.hs b/demo/SelectExample.hs
new file mode 100644
--- /dev/null
+++ b/demo/SelectExample.hs
@@ -0,0 +1,8 @@
+module SelectExample where
+
+import FortyTwo (select, selectWithDefault)
+
+main :: IO String
+main = do
+  select "What's your favourite color?" ["Red", "Yellow", "Blue"]
+  selectWithDefault "What's your favourite film?" ["28 Days Later", "Blade Runner", "Matrix"] "28 Days Later"
diff --git a/examples/ConfirmExample.hs b/examples/ConfirmExample.hs
deleted file mode 100644
--- a/examples/ConfirmExample.hs
+++ /dev/null
@@ -1,9 +0,0 @@
-module ConfirmExample where
-
-import FortyTwo (confirm, confirmWithDefault)
-
-main :: IO Bool
-main = do
-  confirm "Do you like music?"
-  confirmWithDefault "Do you like pop music?" False
-  confirmWithDefault "Do you play an instrument?" True
diff --git a/examples/InputExample.hs b/examples/InputExample.hs
deleted file mode 100644
--- a/examples/InputExample.hs
+++ /dev/null
@@ -1,8 +0,0 @@
-module InputExample where
-
-import FortyTwo (input, inputWithDefault)
-
-main :: IO String
-main = do
-  input "What's your name?"
-  inputWithDefault "How old are you?" "22"
diff --git a/examples/Main.hs b/examples/Main.hs
deleted file mode 100644
--- a/examples/Main.hs
+++ /dev/null
@@ -1,16 +0,0 @@
-module Main where
-
-import qualified InputExample
-import qualified ConfirmExample
-import qualified PasswordExample
-import qualified SelectExample
-import qualified MultiselectExample
-
-main :: IO()
-main = do
-  InputExample.main
-  ConfirmExample.main
-  MultiselectExample.main
-  SelectExample.main
-  PasswordExample.main
-  return ()
diff --git a/examples/MultiselectExample.hs b/examples/MultiselectExample.hs
deleted file mode 100644
--- a/examples/MultiselectExample.hs
+++ /dev/null
@@ -1,11 +0,0 @@
-module MultiselectExample where
-
-import FortyTwo (multiselect, multiselectWithDefault)
-
-main :: IO [String]
-main = do
-  multiselect "Which kind of sports do you like?" ["Soccer", "Tennis", "Golf"]
-  multiselectWithDefault
-    "What are your favourite books?"
-    ["1984", "Moby Dick", "The Hitchhiker's Guide to the Galaxy"]
-    ["1984", "The Hitchhiker's Guide to the Galaxy"]
diff --git a/examples/PasswordExample.hs b/examples/PasswordExample.hs
deleted file mode 100644
--- a/examples/PasswordExample.hs
+++ /dev/null
@@ -1,6 +0,0 @@
-module PasswordExample where
-
-import FortyTwo (password)
-
-main :: IO String
-main = password "What's your secret password?"
diff --git a/examples/SelectExample.hs b/examples/SelectExample.hs
deleted file mode 100644
--- a/examples/SelectExample.hs
+++ /dev/null
@@ -1,8 +0,0 @@
-module SelectExample where
-
-import FortyTwo (select, selectWithDefault)
-
-main :: IO String
-main = do
-  select "What's your favourite color?" ["Red", "Yellow", "Blue"]
-  selectWithDefault "What's your favourite film?" ["28 Days Later", "Blade Runner", "Matrix"] "28 Days Later"
diff --git a/fortytwo.cabal b/fortytwo.cabal
--- a/fortytwo.cabal
+++ b/fortytwo.cabal
@@ -1,5 +1,5 @@
 name:                fortytwo
-version:1.0.1
+version:1.0.2
 synopsis:            Interactive terminal prompt
 description:         List of Prompt helpers to pimp the UIs of your haskell programs
 homepage:            https://github.com/gianlucaguarini/fortytwo#readme
@@ -13,6 +13,10 @@
 extra-source-files:  README.md
 cabal-version:       >=1.10
 
+flag demos
+  description: Build with demos
+  default: False
+
 library
   hs-source-dirs:      src
   exposed-modules:     FortyTwo,
@@ -35,17 +39,21 @@
                        ansi-terminal >= 0.6.0.0 && <= 0.7.1.1
   default-language:    Haskell2010
 
-executable             examples
+executable             demo
   main-is:             Main.hs
   other-modules:       InputExample,
                        ConfirmExample,
                        PasswordExample,
                        SelectExample,
                        MultiselectExample
-  hs-source-dirs:      examples
+  hs-source-dirs:      demo
   build-depends:       base >= 4.7 && < 5,
                        fortytwo
   default-language:    Haskell2010
+  if flag(demos)
+    buildable: True
+  else
+    buildable: False
 
 Test-Suite spec
   type:              exitcode-stdio-1.0
