diff --git a/example/CSVReplace.hs b/example/CSVReplace.hs
--- a/example/CSVReplace.hs
+++ b/example/CSVReplace.hs
@@ -2,24 +2,17 @@
 
 import qualified CSVReplace.Option as Option
 import qualified Options.Applicative as OP
+import Shell.Utility.Exit (exitFailureMsg)
 
 import qualified Data.Spreadsheet as Sheet
 import qualified Data.List.HT as ListHT
 
-import qualified System.Exit as Exit
-import qualified System.IO as IO
-
 import qualified Control.Monad.Exception.Asynchronous as AExc
 import Control.Applicative ((<$>), )
 
 import qualified Data.Foldable as Fold
 import Data.Foldable (forM_, )
 
-
-exitFailureMsg :: String -> IO a
-exitFailureMsg msg = do
-   IO.hPutStrLn IO.stderr msg
-   Exit.exitFailure
 
 
 replaceRow :: String -> [String] -> [String] -> String
diff --git a/spreadsheet.cabal b/spreadsheet.cabal
--- a/spreadsheet.cabal
+++ b/spreadsheet.cabal
@@ -1,6 +1,7 @@
+Cabal-Version:    2.2
 Name:             spreadsheet
-Version:          0.1.3.8
-License:          BSD3
+Version:          0.1.3.9
+License:          BSD-3-Clause
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
 Maintainer:       Henning Thielemann <haskell@henning-thielemann.de>
@@ -34,7 +35,6 @@
   * @cassava@: high-level CSV parser that treats rows as records,
     parses ByteStrings and is biased towards UTF-8 encoding.
 Tested-With:       GHC==7.4.2, GHC==7.8.4
-Cabal-Version:     >=1.8
 Build-Type:        Simple
 Extra-Source-Files:
   README.md
@@ -44,7 +44,7 @@
   Location: http://code.haskell.org/~thielema/spreadsheet/
 
 Source-Repository this
-  Tag:      0.1.3.8
+  Tag:      0.1.3.9
   Type:     darcs
   Location: http://code.haskell.org/~thielema/spreadsheet/
 
@@ -52,20 +52,15 @@
   description: Build example executables
   default:     False
 
-Flag splitBase
-  description: Choose the new smaller, split-up base package.
-
 Library
   Build-Depends:
     utility-ht >=0.0.2 && <0.1,
-    transformers >=0.2 && <0.6,
-    explicit-exception >=0.1 && <0.2
-  If flag(splitBase)
-    Build-Depends: base >= 2 && <5
-  Else
-    Build-Depends: base >= 1.0 && < 2
+    transformers >=0.2 && <0.7,
+    explicit-exception >=0.1 && <0.3,
+    base >= 2 && <5
 
   GHC-Options:      -Wall
+  Default-Language: Haskell98
   Hs-Source-Dirs:   src
   Exposed-Modules:
     Data.Spreadsheet
@@ -77,13 +72,15 @@
   If flag(buildExamples)
     Build-Depends:
       spreadsheet,
-      optparse-applicative >=0.12 && <0.15,
+      optparse-applicative >=0.12 && <0.17,
+      shell-utility >=0.0 && <0.1,
       utility-ht,
       explicit-exception,
       base
   Else
     Buildable:      False
   GHC-Options:      -Wall
+  Default-Language: Haskell98
   Hs-Source-Dirs:   example
   Main-Is: CSVReplace.hs
   Other-Modules:
@@ -94,13 +91,14 @@
   If flag(buildExamples)
     Build-Depends:
       spreadsheet,
-      optparse-applicative >=0.12 && <0.15,
+      optparse-applicative >=0.12 && <0.17,
       containers >=0.4.2 && <0.7,
       utility-ht,
       base
   Else
     Buildable:      False
   GHC-Options:      -Wall
+  Default-Language: Haskell98
   Hs-Source-Dirs:   example
   Main-Is: CSVExtract.hs
   Other-Modules:
