diff --git a/changelog.md b/changelog.md
new file mode 100644
--- /dev/null
+++ b/changelog.md
@@ -0,0 +1,4 @@
+1.0.1
+-----
+
+- Add support for `integer-simple`
diff --git a/integer-logarithms.cabal b/integer-logarithms.cabal
--- a/integer-logarithms.cabal
+++ b/integer-logarithms.cabal
@@ -1,5 +1,5 @@
 name:               integer-logarithms
-version:            1
+version:            1.0.1
 cabal-version:      >= 1.10
 author:             Daniel Fischer
 copyright:          (c) 2011 Daniel Fischer
@@ -31,8 +31,13 @@
   GHC==7.10.3,
   GHC==8.0.1
 
-extra-source-files  : readme.md
+extra-source-files  : readme.md changelog.md
 
+flag integer-gmp
+  description:  integer-gmp or integer-simple
+  default:      True
+  manual:       False
+
 flag check-bounds
   description:  Replace unsafe array operations with safe ones
   default:      False
@@ -44,12 +49,18 @@
   build-depends:
     base >= 4.3 && < 4.10,
     array >= 0.3 && < 0.6,
-    ghc-prim < 0.6,
-    integer-gmp < 1.1
+    ghc-prim < 0.6
   if impl(ghc >= 7.10)
     cpp-options: -DBase48
   else
     build-depends: nats >= 1.1 && <1.2
+
+  if flag(integer-gmp)
+    build-depends:
+      integer-gmp < 1.1
+  else
+    build-depends:
+      integer-simple
 
   exposed-modules:
     Math.NumberTheory.Logarithms
diff --git a/src/Math/NumberTheory/Logarithms.hs b/src/Math/NumberTheory/Logarithms.hs
--- a/src/Math/NumberTheory/Logarithms.hs
+++ b/src/Math/NumberTheory/Logarithms.hs
@@ -42,7 +42,7 @@
 import Numeric.Natural
 
 import GHC.Integer.Logarithms.Compat
-#if Base48
+#if Base48 && defined(MIN_VERSION_integer_gmp)
 import GHC.Integer.GMP.Internals (Integer (..))
 import GHC.Natural
 #endif
@@ -316,7 +316,7 @@
 fromNatural = fromIntegral
 
 naturalLog2# :: Natural -> Int#
-#if Base48
+#if Base48 && defined(MIN_VERSION_integer_gmp)
 naturalLog2# (NatS# b) = wordLog2# b
 naturalLog2# (NatJ# n) = integerLog2# (Jp# n)
 #else
