diff --git a/midimory.cabal b/midimory.cabal
--- a/midimory.cabal
+++ b/midimory.cabal
@@ -1,14 +1,14 @@
+Cabal-Version: 2.2
 Name:          midimory
-Version:       0.0.2.1
+Version:       0.0.2.2
 Maintainer:    Henning Thielemann <alsa@henning-thielemann.de>
 Author:        Henning Thielemann <alsa@henning-thielemann.de>
 Category:      Sound, Music, Game, GUI
-License:       BSD3
+License:       BSD-3-Clause
 License-file:  LICENSE
 Homepage:      http://www.youtube.com/watch?v=cOlR73h2uII
 Stability:     Experimental
 Build-Type:    Simple
-Cabal-Version: >= 1.8
 Synopsis:      A Memory-like (Concentration, Pairs, ...) game for tones
 Description:
   This is a game like Memory but with tones instead of images.
@@ -42,7 +42,7 @@
 
 Source-Repository this
   type:     darcs
-  tag:      0.0.2.1
+  tag:      0.0.2.2
   location: http://code.haskell.org/~thielema/midimory/
 
 Flag reactive
@@ -59,15 +59,17 @@
     Option
   Hs-Source-Dirs: src
   GHC-Options: -Wall
+  Default-Language: Haskell98
   Build-Depends:
     wx >=0.12.1.6 && <0.93,
     wxcore >=0.12.1.6 && <0.93,
     alsa-seq >=0.6 && <0.7,
     alsa-core >=0.5 && <0.6,
-    optparse-applicative >=0.14 && <0.15,
-    random >=1.0 && <1.2,
-    transformers >=0.2 && <0.6,
-    containers >=0.2 && <0.6,
+    optparse-applicative >=0.14 && <0.18,
+    shell-utility >=0.0 && <0.2,
+    random >=1.0 && <1.3,
+    transformers >=0.2 && <0.7,
+    containers >=0.2 && <0.7,
     array >=0.4 && <0.6,
     utility-ht >=0.0.12 && <0.1,
     base >=3 && <5
@@ -82,6 +84,7 @@
     Option
   Hs-Source-Dirs: src
   GHC-Options: -Wall
+  Default-Language: Haskell98
   If flag(reactive)
     Build-Depends:
       reactive-banana-wx >=1.1 && <1.2,
@@ -90,10 +93,11 @@
       wxcore >=0.12.1.6 && <0.93,
       alsa-seq >=0.6 && <0.7,
       alsa-core >=0.5 && <0.6,
-      optparse-applicative >=0.14 && <0.15,
-      random >=1.0 && <1.2,
-      transformers >=0.2 && <0.6,
-      containers >=0.2 && <0.6,
+      optparse-applicative >=0.14 && <0.18,
+      shell-utility >=0.0 && <0.2,
+      random >=1.0 && <1.3,
+      transformers >=0.2 && <0.7,
+      containers >=0.2 && <0.7,
       array >=0.4 && <0.6,
       utility-ht >=0.0.12 && <0.1,
       base >=3 && <5
diff --git a/src/Option.hs b/src/Option.hs
--- a/src/Option.hs
+++ b/src/Option.hs
@@ -4,8 +4,7 @@
 
 import qualified Sound.ALSA.Sequencer.Event as Event
 
-import qualified System.Exit as Exit
-import qualified System.IO as IO
+import Shell.Utility.Exit (exitFailureMsg)
 
 import qualified Options.Applicative as OP
 
@@ -15,11 +14,6 @@
 import Data.Bool.HT (if')
 import Data.Monoid ((<>))
 
-
-exitFailureMsg :: String -> IO a
-exitFailureMsg msg = do
-   IO.hPutStrLn IO.stderr msg
-   Exit.exitFailure
 
 parseChannel :: String -> Either String Event.Channel
 parseChannel str =
