diff --git a/hwsl2.cabal b/hwsl2.cabal
--- a/hwsl2.cabal
+++ b/hwsl2.cabal
@@ -10,7 +10,7 @@
 -- PVP summary:      +-+------- breaking API changes
 --                   | | +----- non-breaking API additions
 --                   | | | +--- code changes with no API change
-version:             0.4.0.0
+version:             0.4.0.1
 
 -- A short (one-line) description of the package.
 synopsis:            Hashing with SL2
@@ -38,6 +38,7 @@
 -- URL for the project homepage or repository.
 homepage:            https://github.com/srijs/hwsl2
 
+
 -- The license under which the package is released.
 license:             MIT
 
@@ -66,9 +67,14 @@
 -- Constraint on the version of Cabal needed to build this package.
 cabal-version:       >=1.10
 
+
+source-repository head
+  type:                git
+  location:            git://github.com/srijs/hwsl2-haskell.git
+
 flag avx2
-  description:        Enable AVX 2 optimisations.
-  default:            False
+  description:         Enable AVX 2 optimisations.
+  default:             False
 
 library
   -- Modules exported by the library.
@@ -85,7 +91,7 @@
                        Safe Trustworthy Unsafe
 
   -- Other library packages from which modules are imported.
-  build-depends:       base >=4.8 && <4.9, bytestring >=0.10
+  build-depends:       base >=4.8 && <5, bytestring >=0.10
 
   -- Directories containing source files.
   hs-source-dirs:      src
@@ -95,11 +101,11 @@
   -- Options for foreign source files.
   include-dirs:        src/core
   if flag(avx2)
-    cc-options:        -Wall -O3 -mavx2 -msse4.1 -msse2 -mpclmul
-    ghc-options:       -O3 -optc-mavx2 -optc-msse4.1 -msse2 -optc-mpclmul
+    cc-options:        -Wall -mavx2 -msse4.1 -msse2 -mpclmul
+    ghc-options:       -optc-mavx2 -optc-msse4.1 -msse2 -optc-mpclmul
   else
-    cc-options:        -Wall -O3 -msse4.1 -msse2 -mpclmul
-    ghc-options:       -O3 -optc-msse4.1 -msse2 -optc-mpclmul
+    cc-options:        -Wall -msse4.1 -msse2 -mpclmul
+    ghc-options:       -optc-msse4.1 -msse2 -optc-mpclmul
 
   -- Base language which the package is written in.
   default-language:    Haskell2010
@@ -113,18 +119,19 @@
                        Data.Hash.SL2.Mutable
                        Data.Hash.SL2.Unsafe
                        Data.Hash.SL2.Internal
-  build-depends:       base >=4.8 && <4.9,
+  build-depends:       base >=4.8 && <5,
                        bytestring >=0.10,
                        tasty >=0.10,
                        tasty-quickcheck >=0.8,
                        quickcheck-properties >= 0.1
   include-dirs:        src/core
   if flag(avx2)
-    cc-options:        -Wall -O3 -mavx2 -msse4.1 -msse2 -mpclmul
-    ghc-options:       -O3 -optc-mavx2 -optc-msse4.1 -msse2 -optc-mpclmul
+    cc-options:        -Wall -mavx2 -msse4.1 -msse2 -mpclmul
+    ghc-options:       -optc-mavx2 -optc-msse4.1 -msse2 -optc-mpclmul
   else
-    cc-options:        -Wall -O3 -msse4.1 -msse2 -mpclmul
-    ghc-options:       -O3 -optc-msse4.1 -msse2 -optc-mpclmul
+    cc-options:        -Wall -msse4.1 -msse2 -mpclmul
+    ghc-options:       -optc-msse4.1 -msse2 -optc-mpclmul
+  default-language:    Haskell2010
 
 benchmark bench
   type:                exitcode-stdio-1.0
@@ -134,7 +141,7 @@
                        Data.Hash.SL2.Mutable
                        Data.Hash.SL2.Unsafe
                        Data.Hash.SL2.Internal
-  build-depends:       base >=4.8 && <4.9,
+  build-depends:       base >=4.8 && <5,
                        Cabal >=1.9.2,
                        bytestring >=0.10,
                        criterion >=1.0,
@@ -142,8 +149,9 @@
                        parallel >=3.2
   include-dirs:        src/core
   if flag(avx2)
-    cc-options:        -Wall -O3 -mavx2 -msse4.1 -msse2 -mpclmul
-    ghc-options:       -rtsopts -threaded -O3 -optc-mavx2 -optc-msse4.1 -msse2 -optc-mpclmul
+    cc-options:        -Wall -mavx2 -msse4.1 -msse2 -mpclmul
+    ghc-options:       -rtsopts -threaded -optc-mavx2 -optc-msse4.1 -msse2 -optc-mpclmul
   else
-    cc-options:        -Wall -O3 -msse4.1 -msse2 -mpclmul
-    ghc-options:       -rtsopts -threaded -O3 -optc-msse4.1 -msse2 -optc-mpclmul
+    cc-options:        -Wall -msse4.1 -msse2 -mpclmul
+    ghc-options:       -rtsopts -threaded -optc-msse4.1 -msse2 -optc-mpclmul
+  default-language:    Haskell2010
