diff --git a/Monadoro.cabal b/Monadoro.cabal
--- a/Monadoro.cabal
+++ b/Monadoro.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           Monadoro
-version:        0.3.4.0
+version:        0.3.5.0
 synopsis:       A minimalistic CLI Pomodoro timer.
 description:    A Pomodoro timer with two modes: single-pomodoro (default), and four-pomodoro (`--session`).
 category:       Tools
@@ -27,8 +27,8 @@
 library
   exposed-modules:
       CLI
-      ConsoleDisplay
       CountdownLoop
+      Display
       ParseTime
       Pomodoro
   other-modules:
@@ -59,7 +59,6 @@
   type: exitcode-stdio-1.0
   main-is: Main.hs
   other-modules:
-      DocTests
       Paths_Monadoro
   hs-source-dirs:
       test
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,7 @@
+monadoro (3.5.0)
+
+	* Improve and unify the display mechanism.
+
 monadoro (3.1.0)
 
 	* Move library functions out of the main module.
diff --git a/src/ConsoleDisplay.lhs b/src/ConsoleDisplay.lhs
deleted file mode 100644
--- a/src/ConsoleDisplay.lhs
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env stack
-> --stack --install-ghc runghc
-
-Unified interface for displaying the remaining time on the screen.
-
-> module ConsoleDisplay (display) where
->
-> import Control.Concurrent  (threadDelay)
->
-> display :: String -> IO ()
-> display s = putStr $ "\r" ++ s
->
-> waitASecond :: IO()
-> waitASecond = threadDelay $ 10^6
-
-> main :: IO ()
-> main = do
->     display "00:01" >> waitASecond >> display "00:00"
diff --git a/src/CountdownLoop.hs b/src/CountdownLoop.hs
--- a/src/CountdownLoop.hs
+++ b/src/CountdownLoop.hs
@@ -4,10 +4,9 @@
 module CountdownLoop       (countdown, countdown_loop) where
 
 import System.Environment  (getArgs)
-import System.IO (hFlush,
-                  stdout)
 import Control.Concurrent  (threadDelay)
 import ParseTime           (count_down_time)
+import Display             (display)
 
 milisec_per_second :: Int
 milisec_per_second = 10 ^ (6 :: Int)
@@ -49,14 +48,10 @@
 countdown :: String -> IO (String)
 countdown = countdown_loop with_delay
 
-display :: String -> IO ()
-display s = putStr $ s ++ " \r"
-
 countdown_loop :: IO() -> String -> IO (String)
-countdown_loop delayer "00:00" = putStrLn "00:00" >> return "00:00"
+countdown_loop delayer "00:00" = display "00:00" >> return "00:00"
 countdown_loop delayer s = do
   display s
-  hFlush stdout
   delayer
   (countdown_loop delayer . count_down_time) s
 
diff --git a/src/Display.hs b/src/Display.hs
new file mode 100644
--- /dev/null
+++ b/src/Display.hs
@@ -0,0 +1,6 @@
+module Display (display) where
+
+import System.IO (hFlush, stdout)
+
+display :: String -> IO ()
+display s = putStr ("\r" ++ s) >> hFlush stdout
diff --git a/src/Pomodoro.lhs b/src/Pomodoro.lhs
--- a/src/Pomodoro.lhs
+++ b/src/Pomodoro.lhs
@@ -6,10 +6,9 @@
 > module Pomodoro (session) where
 
 > import Control.Concurrent (threadDelay)
-> import System.IO (hFlush,
->                   stdout)
 > import Data.Time.Clock.POSIX (posixSecondsToUTCTime)
 > import Data.Time.Format (formatTime, defaultTimeLocale)
+> import Display (display)
 >
 > data Pomodoro = First | Second | Third | Fourth
 >     deriving (Eq, Ord, Show, Read, Bounded, Enum)
@@ -54,9 +53,6 @@
 >     let prefix = "Rest time" ++ " | "
 >     wait_seconds delay prefix $ minutes * 60 + 1
 
-> display :: String -> IO ()
-> display s = putStr $ s ++ " \r"
-
 > pomodoro :: IO () -> Pomodoro -> IO ()
 > pomodoro delay Fourth = do
 >     pom delay Fourth
@@ -72,7 +68,6 @@
 > wait_seconds delay prefix 0 = display ""
 > wait_seconds delay prefix n = do
 >     display $ prefix ++ (secToTimestamp (n - 1))
->     hFlush stdout
 >     delay
 >     wait_seconds delay prefix $ n - 1
 
diff --git a/test/DocTests.hs b/test/DocTests.hs
deleted file mode 100644
--- a/test/DocTests.hs
+++ /dev/null
@@ -1,13 +0,0 @@
-module DocTests where
-
-import Test.DocTest
-
-main :: IO ()
-main = doctest [
-        "-isrc",
-        "src/CLI.hs",
-        "src/ParseTime.lhs",
-        "src/CountdownLoop.hs",
-        "src/Pomodoro.lhs",
-        "src/ConsoleDisplay.lhs"
-    ]
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -1,1 +1,10 @@
-import DocTests
+import Test.DocTest
+
+main :: IO ()
+main = doctest [
+        "-isrc",
+        "src/CLI.hs",
+        "src/ParseTime.lhs",
+        "src/CountdownLoop.hs",
+        "src/Pomodoro.lhs"
+    ]
