diff --git a/Monadoro.cabal b/Monadoro.cabal
--- a/Monadoro.cabal
+++ b/Monadoro.cabal
@@ -1,13 +1,13 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.31.1.
+-- This file has been generated from package.yaml by hpack version 0.31.2.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: ca52c8268fc175937ee9cd55876a4df6c2cf90cf7eb480cea459810d25a2072f
+-- hash: 7767f6c6d2d1be6dce43bee7340e0b209922655948aa448f3a4c1a3c97a15bdd
 
 name:           Monadoro
-version:        0.2.1.5
+version:        0.2.1.8
 synopsis:       A minimalistic CLI Pomodoro timer.
 description:    A Pomodoro timer with two modes: single-pomodoro (default), and four-pomodoro (`--session`).
 category:       Tools
@@ -20,6 +20,7 @@
 extra-source-files:
     README.md
     changelog
+    man/monadoro.1
 
 source-repository head
   type: git
@@ -31,6 +32,7 @@
       Clock
       Pomodoro
       Timer
+      Version
   other-modules:
       Paths_Monadoro
   hs-source-dirs:
@@ -38,6 +40,7 @@
   build-depends:
       ansi-terminal >=0.8 && <1
     , base >=4.7 && <5
+    , process >=1.0 && <2
     , time >=1.8 && <2
   default-language: Haskell2010
 
@@ -52,6 +55,7 @@
       Monadoro
     , ansi-terminal >=0.8 && <1
     , base >=4.7 && <5
+    , process >=1.0 && <2
     , time >=1.8 && <2
   default-language: Haskell2010
 
@@ -68,5 +72,6 @@
     , ansi-terminal >=0.8 && <1
     , base >=4.7 && <5
     , doctest >=0.8
+    , process >=1.0 && <2
     , time >=1.8 && <2
   default-language: Haskell2010
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,7 @@
+monadoro (2.1.6)
+
+	* Bump version using a script.
+
 monadoro (2.1.5)
 
 	* Fix a spelling error in README.
diff --git a/man/monadoro.1 b/man/monadoro.1
new file mode 100644
--- /dev/null
+++ b/man/monadoro.1
@@ -0,0 +1,26 @@
+.\" Automatically generated by Pandoc 2.5
+.\"
+.TH "MONADORO" "1" "September 2019" "" ""
+.hy
+.SH NAME
+.PP
+monadoro \[en] count a 25\-minute Pomodoro
+.SH SYNOPSIS
+.PP
+\f[B]monadoro\f[R] [\f[B]\-h\f[R]] [\f[B]\f[CB]\-\-session\f[B]\f[R]]
+.SH DESCRIPTION
+.PP
+\f[B]monadoro\f[R] is a simple tool which serves as a Pomodoro timer.
+It has two modes of operation: single\-pomodoro (default), and a
+4\-pomodoro session.
+It helps you concentrate on your goal while not losing track of your
+surroundings.
+.SH GENERAL OPTIONS
+.TP
+.B \f[B]\-h\f[R]
+Display a friendly help message.
+.TP
+.B \f[B]\f[CB]\-\-session\f[B]\f[R]
+Start a 4\-pomodoro session.
+.SH AUTHORS
+Patryk Kocielnik.
diff --git a/src/ArgParse.hs b/src/ArgParse.hs
--- a/src/ArgParse.hs
+++ b/src/ArgParse.hs
@@ -10,18 +10,19 @@
 import System.Exit
 import Pomodoro (worker)
 import Clock    (countdown)
-
-main = parse_args
+import Version  (my_version)
 
-parse_args = getArgs >>= parse
+usage   = putStrLn "Usage: monadoro [-vh] [--session]"
+version = my_version "package.yaml" >>= putStrLn :: IO ()
+exit    = exitWith ExitSuccess
+warn    = putStrLn "Invalid argument." >> usage >> exitWith (ExitFailure 1)
 
-parse ["-h"] = usage   >> exit
-parse ["-v"] = version >> exit
+parse ["-h"]        = usage   >> exit
+parse ["-v"]        = version >> exit
 parse ["--session"] = worker
-parse []     = countdown
-parse _      = putStrLn "Invalid argument." >> usage >> exit
+parse []            = countdown
+parse _             = warn
 
-usage   = putStrLn "Usage: monadoro [-vh] [--session]"
-version = putStrLn "Monadoro 2.1.2"
-exit    = exitWith ExitSuccess
-die     = exitWith (ExitFailure 1)
+parse_args = getArgs >>= parse
+
+main = parse_args
diff --git a/src/Version.hs b/src/Version.hs
new file mode 100644
--- /dev/null
+++ b/src/Version.hs
@@ -0,0 +1,64 @@
+#!/usr/bin/env stack
+--stack --install-ghc runghc
+
+module Version (my_version)
+    where
+
+import System.Environment
+import System.Exit
+import System.Process
+
+-- | Read current package version
+--
+-- Example:
+--
+-- >>> putStrLn $ my_version
+-- 0.2.1.7
+--
+
+--my_version :: IO ([Char])
+--my_version = do
+--  let stdin' = ""
+--  (errCode, stdout', stderr') <- readProcessWithExitCode "./get_version" [""] stdin'
+--  return stdout'
+--
+--my_version' :: IO ()
+--my_version' = putStr $ my_version
+-- get_version = my_version
+-- 
+-- show_all = map putStr
+-- 
+-- exit = exitWith ExitSuccess
+-- 
+-- all_file = my_version >>= putStr
+
+--main = my_version >>= lines >>= unlines >>= putStr
+--main = show_all $ get_version
+-- putStrLn . show $ (!!) a 1
+-- See http://learnyouahaskell.com/input-and-output
+
+--my_version :: IO String
+--my_version = readFile "package.yaml"
+--
+--firstLine :: String -> String
+--firstLine = head . lines
+--
+--first_line_of_file = firstLine $ my_version
+
+-- Worked!
+--my_version = do
+--    contents <- readFile "package.yaml"
+--    let version_line = lines contents !! 1
+--    let version_word = words version_line !! 1
+--    return version_word
+
+my_version :: FilePath -> IO String
+my_version file_name = do
+    contents <- readFile file_name
+    let version_line = lines contents !! 1
+    let version_word = words version_line !! 1
+    return version_word
+
+main :: IO ()
+main = my_version "package.yaml" >>= putStrLn :: IO ()
+
diff --git a/test/Spec.hs b/test/Spec.hs
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -1,4 +1,4 @@
 import Test.DocTest
 
 main :: IO ()
-main = doctest ["-isrc", "src/Pomodoro.lhs", "src/Clock.lhs", "src/Timer.hs"]
+main = doctest ["-isrc", "src/Pomodoro.lhs", "src/Clock.lhs", "src/Timer.hs", "src/Version.hs"]
