diff --git a/CHANGELOG b/CHANGELOG
new file mode 100644
--- /dev/null
+++ b/CHANGELOG
@@ -0,0 +1,3 @@
+0.1.0.1
+	Update for ghc-8.8 (change Monad superclasses to MonadFail)
+
diff --git a/dice.cabal b/dice.cabal
--- a/dice.cabal
+++ b/dice.cabal
@@ -1,21 +1,29 @@
 name:                   dice
-version:                0.1
+version:                0.1.0.1
 stability:              work-in-progress
 
 cabal-version:          >= 1.6
 build-type:             Simple
 
 author:                 James Cook <mokus@deepbondi.net>
-maintainer:             James Cook <mokus@deepbondi.net>
+maintainer:             Bertram Felgenhauer <int-e@gmx.de>
 license:                PublicDomain
 
 category:               Game
 synopsis:               Simplistic D&D style dice-rolling system.
 description:            Simplistic D&D style dice-rolling system.
+                        .
+                        > $ dice "2d10 + 2 * (d100 / d6)"
+                        > (5+2) + 2 * 64 / 2 => 71
 
+bug-reports:            https://github.com/lambdabot/dice/issues
+
+extra-source-files:
+  CHANGELOG
+
 source-repository head
   type: git
-  location: git://github.com/mokus0/dice.git
+  location: git://github.com/lambdabot/dice.git
 
 Library
   hs-source-dirs:       src
diff --git a/src/Data/Random/Dice.hs b/src/Data/Random/Dice.hs
--- a/src/Data/Random/Dice.hs
+++ b/src/Data/Random/Dice.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 module Data.Random.Dice where
 
 import Data.Random
@@ -44,13 +45,21 @@
     where
         divM x y = join (liftM2 (/) x y)
 
+#if __GLASGOW_HASKELL__ < 808
 evalFractionalExpr :: (Eq a, Fractional a, Monad m) => Expr a -> m a
+#else
+evalFractionalExpr :: (Eq a, Fractional a, MonadFail m) => Expr a -> m a
+#endif
 evalFractionalExpr = evalExprWithDiv divM
     where
         divM x 0 = fail "Divide by zero!"
         divM x y = return (x / y)
 
+#if __GLASGOW_HASKELL__ < 808
 evalIntegralExpr :: (Integral a, Monad m) => Expr a -> m a
+#else
+evalIntegralExpr :: (Integral a, MonadFail m) => Expr a -> m a
+#endif
 evalIntegralExpr = evalExprWithDiv divM
     where
         divM x 0 = fail "Divide by zero!"
