diff --git a/src/Control/Concurrent/Timer.hs b/src/Control/Concurrent/Timer.hs
--- a/src/Control/Concurrent/Timer.hs
+++ b/src/Control/Concurrent/Timer.hs
@@ -33,7 +33,7 @@
 -- otherwise (e.g. other thread is attempting to manipulate the timer) returns False.
 oneShotStart :: TimerIO
              -> IO () -- ^ The action the timer will start with.
-             -> Delay -- ^ The dealy the timer will start with.
+             -> Delay -- ^ The delay the timer will start with.
              -> IO Bool
 oneShotStart (Timer mvmtim) a d = do
     mtim <- tryTakeMVar mvmtim
@@ -57,7 +57,7 @@
 -- otherwise (e.g. other thread is attempting to manipulate the timer) returns False.
 repeatedStart :: TimerIO
               -> IO () -- ^ The action the timer will start with.
-              -> Delay -- ^ The dealy the timer will start with.
+              -> Delay -- ^ The delay the timer will start with.
               -> IO Bool
 repeatedStart (Timer mvmtim) a d = do
     mtim <- tryTakeMVar mvmtim
@@ -106,14 +106,14 @@
          _ -> return False
 {-# INLINEABLE repeatedRestart #-}
 
--- | Executes the the given action once after the given delay elapsed, no sooner, maybe later.
+-- | Executes the given action once after the given delay elapsed, no sooner, maybe later.
 oneShotTimer :: IO () -- ^ The action to be executed.
              -> Delay -- ^ The (minimal) time until the execution in microseconds.
              -> IO TimerIO
 oneShotTimer a d = Timer <$> (oneShotTimerImmutable a d >>= newMVar . Just)
 {-# INLINE oneShotTimer #-}
 
--- | Executes the the given action repeatedly with at least the given delay between executions.
+-- | Executes the given action repeatedly with at least the given delay between executions.
 repeatedTimer :: IO () -- ^ The action to be executed.
               -> Delay -- ^ The (minimal) delay between executions.
               -> IO TimerIO
diff --git a/timers.cabal b/timers.cabal
--- a/timers.cabal
+++ b/timers.cabal
@@ -1,5 +1,5 @@
 name:                timers
-version:             0.2.0.3
+version:             0.2.0.4
 synopsis:            Simple package that implements timers.
 description:         Simple package that implements timers. Both "one-shot" and "repeating" timers are implemented.
 license:             BSD3
@@ -10,29 +10,30 @@
 category:            Concurrency
 stability:           Experimental
 build-type:          Simple
-cabal-version:       >=1.8
+cabal-version:       >=1.10
 
 extra-source-files:
     LICENSE
   , README.md
 
 library
-    exposed-modules:
-        Control.Concurrent.Timer
-      , Control.Concurrent.Timer.Lifted
+  default-language: Haskell2010
+  exposed-modules:
+      Control.Concurrent.Timer
+    , Control.Concurrent.Timer.Lifted
 
-    other-modules:
-        Control.Concurrent.Timer.Types
+  other-modules:
+      Control.Concurrent.Timer.Types
 
-    build-depends:
-        base              >= 4.5    && < 5
-      , lifted-base       >= 0.1    && < 0.3
-      , monad-control     >= 1.0.0  && < 2
-      , suspend           >= 0.2    && < 0.3
-      , transformers-base >= 0.4    && < 0.5
+  build-depends:
+      base              >= 4.5    && < 5
+    , lifted-base       >= 0.1    && < 0.3
+    , monad-control     >= 1.0.0  && < 2
+    , suspend           >= 0.2    && < 0.3
+    , transformers-base >= 0.4    && < 0.5
 
-    hs-source-dirs:      src
-    ghc-options:         -Wall -fwarn-unused-imports
+  hs-source-dirs:      src
+  ghc-options:         -Wall -fwarn-unused-imports
 
 source-repository head
   type:     git
