diff --git a/System/ByteOrder.hs b/System/ByteOrder.hs
--- a/System/ByteOrder.hs
+++ b/System/ByteOrder.hs
@@ -5,8 +5,6 @@
 License : BSD3
 
 Maintainer : Antoine Latter <aslatter@gmail.com>
-Stability: unstable
-Portability: requires FFI
 
 -}
 
@@ -14,8 +12,12 @@
 
 module System.ByteOrder(byteOrder, ByteOrder(..)) where
 
-import Foreign
+import Foreign.Marshal.Alloc (alloca)
+import Foreign.Marshal.Array (peekArray)
+import Foreign.Ptr (castPtr)
+import Foreign.Storable (poke)
 import Data.Word
+import System.IO.Unsafe (unsafePerformIO)
 
 -- |Indicates the byte-ordering for a 4-byte value, where '1'
 -- indicates the most-significant byte and '4' indicates the
diff --git a/byteorder.cabal b/byteorder.cabal
--- a/byteorder.cabal
+++ b/byteorder.cabal
@@ -1,5 +1,5 @@
 Name:         byteorder
-Version:      1.0.3
+Version:      1.0.4
 Cabal-Version:  >= 1.6
 Synopsis:      Exposes the native endianness or byte ordering of the system.
 Description:   This package is for working with the native byte-ordering of
