diff --git a/curryrs.cabal b/curryrs.cabal
--- a/curryrs.cabal
+++ b/curryrs.cabal
@@ -1,5 +1,5 @@
 name:                curryrs
-version:             0.1.1.0
+version:             0.2.0
 synopsis:            Easy to use FFI Bridge for using Rust in Haskell
 description:         Please see README.md for more information on how to use this library.
 homepage:            https://github.com/mgattozzi/curryrs#readme
@@ -14,8 +14,8 @@
 
 library
   hs-source-dirs:      src
-  exposed-modules:     Types
-                     , Convert
+  exposed-modules:     Curryrs.Types
+                     , Curryrs.Convert
   build-depends:       base >= 4.7 && < 5
                      , mtl  >= 2.2 && < 2.3
   default-language:    Haskell2010
diff --git a/haskell-tests/Test.hs b/haskell-tests/Test.hs
--- a/haskell-tests/Test.hs
+++ b/haskell-tests/Test.hs
@@ -1,7 +1,7 @@
 module Main where
 
-import Types
-import Convert
+import Curryrs.Types
+import Curryrs.Convert
 import Test.Tasty
 import Test.Tasty.HUnit
 
diff --git a/src/Convert.hs b/src/Convert.hs
deleted file mode 100644
--- a/src/Convert.hs
+++ /dev/null
@@ -1,39 +0,0 @@
--- |
--- The Convert module contains various functions used for converting
--- values to or from their FFI form. It also contains Error types in
--- case conversions to not go as planned.
-module Convert (
-    fromBoolean
-  , ConversionError
-  ) where
-
-import Types (Boolean)
-
--- |
--- This method tries to to turn a number returned
--- by FFI into a Bool. It's wrapped in an either
--- in case the underlying number representing the Boolean
--- is not 0 or 1
---
--- >>> fromBoolean 1
--- Right True
---
--- >>> fromBoolean 0
--- Right False
---
--- >>> fromBoolean 3
--- Left Failed to extract a boolean value in the use of fromBoolean. Number was not 0 or 1
-fromBoolean :: Boolean -> Either ConversionError Bool
-fromBoolean x = case x of
-  0 -> (Right False)
-  1 -> (Right True)
-  _ -> (Left Boolean)
-
--- |
--- Error data type for conversions that have failed going to or from
--- their FFI form
-data ConversionError = Boolean
-  deriving Eq
-
-instance Show ConversionError where
-  show Boolean = "Failed to extract a boolean value in the use of fromBoolean. Number was not 0 or 1"
diff --git a/src/Curryrs/Convert.hs b/src/Curryrs/Convert.hs
new file mode 100644
--- /dev/null
+++ b/src/Curryrs/Convert.hs
@@ -0,0 +1,39 @@
+-- |
+-- The Convert module contains various functions used for converting
+-- values to or from their FFI form. It also contains Error types in
+-- case conversions to not go as planned.
+module Curryrs.Convert (
+    fromBoolean
+  , ConversionError
+  ) where
+
+import Curryrs.Types (Boolean)
+
+-- |
+-- This method tries to to turn a number returned
+-- by FFI into a Bool. It's wrapped in an either
+-- in case the underlying number representing the Boolean
+-- is not 0 or 1
+--
+-- >>> fromBoolean 1
+-- Right True
+--
+-- >>> fromBoolean 0
+-- Right False
+--
+-- >>> fromBoolean 3
+-- Left Failed to extract a boolean value in the use of fromBoolean. Number was not 0 or 1
+fromBoolean :: Boolean -> Either ConversionError Bool
+fromBoolean x = case x of
+  0 -> (Right False)
+  1 -> (Right True)
+  _ -> (Left Boolean)
+
+-- |
+-- Error data type for conversions that have failed going to or from
+-- their FFI form
+data ConversionError = Boolean
+  deriving Eq
+
+instance Show ConversionError where
+  show Boolean = "Failed to extract a boolean value in the use of fromBoolean. Number was not 0 or 1"
diff --git a/src/Curryrs/Types.hs b/src/Curryrs/Types.hs
new file mode 100644
--- /dev/null
+++ b/src/Curryrs/Types.hs
@@ -0,0 +1,81 @@
+-- |
+-- Definitions of each FFI type that can be used in Rust. These are
+-- standardized accross the Rust and Haskell Curryrs library for easy
+-- translation of function headers between the two.
+module Curryrs.Types (
+    module Foreign.C.Types
+  , module Foreign.C.String
+  , Chr
+  , Str
+  , U8
+  , U16
+  , U32
+  , U64
+  , I8
+  , I16
+  , I32
+  , I64
+  , F32
+  , F64
+  , Boolean
+  ) where
+
+import Data.Int
+import Data.Word
+import Foreign.C.Types
+import Foreign.C.String
+
+-- We are only defining types that map to Rust types here
+-- We don't need the full array of C types in Rust
+
+-- |
+-- Used to represent Char in both languages
+type Chr = CChar
+
+-- |
+-- Used to represent Strings in both languages
+type Str = CString
+
+-- |
+-- Used to represent 8 bit unsigned numbers in both languages
+type U8  = Word8
+
+-- |
+-- Used to represent 16 bit unsigned numbers in both languages
+type U16 = Word16
+
+-- |
+-- Used to represent 32 bit unsigned numbers in both languages
+type U32 = Word32
+
+-- |
+-- Used to represent 64 bit unsigned numbers in both languages
+type U64 = Word64
+
+-- |
+-- Used to represent 8 bit signed numbers in both languages
+type I8  = Int8
+
+-- |
+-- Used to represent 16 bit signed numbers in both languages
+type I16 = Int16
+
+-- |
+-- Used to represent 32 bit signed numbers in both languages
+type I32 = Int32
+
+-- |
+-- Used to represent 64 bit signed numbers in both languages
+type I64 = Int64
+
+-- |
+-- Used to represent 32 bit floating point numbers in both languages
+type F32 = CFloat
+
+-- |
+-- Used to represent 64 bit floating point numbers in both languages
+type F64 = CDouble
+
+-- |
+-- Used to represent Booleans in both languages
+type Boolean = Word8
diff --git a/src/Types.hs b/src/Types.hs
deleted file mode 100644
--- a/src/Types.hs
+++ /dev/null
@@ -1,81 +0,0 @@
--- |
--- Definitions of each FFI type that can be used in Rust. These are
--- standardized accross the Rust and Haskell Curryrs library for easy
--- translation of function headers between the two.
-module Types (
-    module Foreign.C.Types
-  , module Foreign.C.String
-  , Chr
-  , Str
-  , U8
-  , U16
-  , U32
-  , U64
-  , I8
-  , I16
-  , I32
-  , I64
-  , F32
-  , F64
-  , Boolean
-  ) where
-
-import Data.Int
-import Data.Word
-import Foreign.C.Types
-import Foreign.C.String
-
--- We are only defining types that map to Rust types here
--- We don't need the full array of C types in Rust
-
--- |
--- Used to represent Char in both languages
-type Chr = CChar
-
--- |
--- Used to represent Strings in both languages
-type Str = CString
-
--- |
--- Used to represent 8 bit unsigned numbers in both languages
-type U8  = Word8
-
--- |
--- Used to represent 16 bit unsigned numbers in both languages
-type U16 = Word16
-
--- |
--- Used to represent 32 bit unsigned numbers in both languages
-type U32 = Word32
-
--- |
--- Used to represent 64 bit unsigned numbers in both languages
-type U64 = Word64
-
--- |
--- Used to represent 8 bit signed numbers in both languages
-type I8  = Int8
-
--- |
--- Used to represent 16 bit signed numbers in both languages
-type I16 = Int16
-
--- |
--- Used to represent 32 bit signed numbers in both languages
-type I32 = Int32
-
--- |
--- Used to represent 64 bit signed numbers in both languages
-type I64 = Int64
-
--- |
--- Used to represent 32 bit floating point numbers in both languages
-type F32 = CFloat
-
--- |
--- Used to represent 64 bit floating point numbers in both languages
-type F64 = CDouble
-
--- |
--- Used to represent Booleans in both languages
-type Boolean = Word8
