diff --git a/bench/Bench.hs b/bench/Bench.hs
--- a/bench/Bench.hs
+++ b/bench/Bench.hs
@@ -1,7 +1,7 @@
 module Main where
 
 import           Criterion.Main
-import           Lib
+import           Numeric.Combinatorics
 import qualified Math.Combinatorics.Binomial as Ext
 import qualified Math.Combinatorics.Factorial as Ext
 
diff --git a/fast-combinatorics.cabal b/fast-combinatorics.cabal
--- a/fast-combinatorics.cabal
+++ b/fast-combinatorics.cabal
@@ -1,5 +1,5 @@
 name:                fast-combinatorics
-version:             0.1.0.1
+version:             0.1.0.2
 synopsis:            Fast combinatorics.
 description:         Fast combinatorics code with a high level of safety guaranteed by writing it in ATS.
 homepage:            https://github.com//fast-combinatorics#readme
@@ -23,7 +23,7 @@
 library
   c-sources:           cbits/fast-combinatorics.c
   hs-source-dirs:      src
-  exposed-modules:     Lib
+  exposed-modules:     Numeric.Combinatorics
   build-depends:       base >= 4.7 && < 5
                      , composition-prelude
   default-language:    Haskell2010
diff --git a/src/Lib.hs b/src/Lib.hs
deleted file mode 100644
--- a/src/Lib.hs
+++ /dev/null
@@ -1,39 +0,0 @@
-{-# LANGUAGE ForeignFunctionInterface #-}
-
-module Lib
-    ( factorial
-    , choose
-    , doubleFactorial
-    , isPrime
-    ) where
-
-import Control.Composition
-import           Foreign.C
-import Data.Word
-
-foreign import ccall unsafe factorial_ats :: CInt -> CInt
-foreign import ccall unsafe choose_ats :: CInt -> CInt -> CInt
-foreign import ccall unsafe double_factorial :: CInt -> CInt
-foreign import ccall unsafe is_prime_ats :: CInt -> CBool
-
-convertBool :: CBool -> Bool
-convertBool = go . fromIntegral
-    where
-        go :: Word8 -> Bool
-        go 0 = False
-        go 1 = True
-        go _ = False
-
-isPrime :: Int -> Bool
-isPrime = convertBool . is_prime_ats . fromIntegral
-
-{-@ choose :: { n : Nat | n >= 0 } -> { k : Nat | k >= 0 && k <= n } -> Int @-}
-choose :: Int -> Int -> Int
-choose = fromIntegral .* on choose_ats fromIntegral
-
-doubleFactorial :: Int -> Int
-doubleFactorial = fromIntegral . double_factorial . fromIntegral
-
-{-@ factorial :: { n : Nat | n <= 0 } -> Int @-}
-factorial :: Int -> Int
-factorial = fromIntegral . factorial_ats . fromIntegral
diff --git a/src/Numeric/Combinatorics.hs b/src/Numeric/Combinatorics.hs
new file mode 100644
--- /dev/null
+++ b/src/Numeric/Combinatorics.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE ForeignFunctionInterface #-}
+
+module Numeric.Combinatorics
+    ( factorial
+    , choose
+    , doubleFactorial
+    , isPrime
+    ) where
+
+import           Control.Composition
+import           Data.Word
+import           Foreign.C
+
+foreign import ccall unsafe factorial_ats :: CInt -> CInt
+foreign import ccall unsafe choose_ats :: CInt -> CInt -> CInt
+foreign import ccall unsafe double_factorial :: CInt -> CInt
+foreign import ccall unsafe is_prime_ats :: CInt -> CBool
+
+convertBool :: CBool -> Bool
+convertBool = go . fromIntegral
+    where
+        go :: Word8 -> Bool
+        go 0 = False
+        go 1 = True
+        go _ = False
+
+isPrime :: Int -> Bool
+isPrime = convertBool . is_prime_ats . fromIntegral
+
+{-@ choose :: { n : Nat | n >= 0 } -> { k : Nat | k >= 0 && k <= n } -> Int @-}
+choose :: Int -> Int -> Int
+choose = fromIntegral .* on choose_ats fromIntegral
+
+doubleFactorial :: Int -> Int
+doubleFactorial = fromIntegral . double_factorial . fromIntegral
+
+{-@ factorial :: { n : Nat | n <= 0 } -> Int @-}
+factorial :: Int -> Int
+factorial = fromIntegral . factorial_ats . fromIntegral
diff --git a/test/Spec.hs b/test/Spec.hs
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -1,4 +1,4 @@
-import           Lib
+import           Numeric.Combinatorics
 import           Test.Hspec
 import           Test.Hspec.QuickCheck
 import qualified Math.Combinatorics.Binomial as Ext
