diff --git a/messagepack.cabal b/messagepack.cabal
--- a/messagepack.cabal
+++ b/messagepack.cabal
@@ -1,5 +1,5 @@
 name               : messagepack
-version            : 0.5.4
+version            : 0.5.5
 synopsis           : Serialize instance for Message Pack Object
 description        : Serialize instance for Message Pack Object
 homepage           : https://github.com/rodrigosetti/messagepack
@@ -25,24 +25,22 @@
   exposed-modules  : Data.MessagePack
                    , Data.MessagePack.Spec
   default-language : Haskell2010
-  build-depends    : base       == 4.*
-                   , bytestring == 0.10.*
-                   , cereal     == 0.5.*
-                   , containers == 0.5.*
-                   , deepseq
+  build-depends    : base       >= 4.6 && < 5
+                   , bytestring >= 0.10
+                   , cereal     >= 0.5
+                   , containers >= 0.5
+                   , deepseq    >= 1.1
+ other-extensions  : DeriveGeneric
 
 test-suite messagepack-tests
   type             : exitcode-stdio-1.0
   hs-source-dirs   : tests
   main-is          : Main.hs
   default-language : Haskell2010
-  build-depends    : base                       == 4.*
-                   , QuickCheck                 == 2.*
-                   , bytestring                 == 0.10.*
-                   , cereal                     == 0.5.*
-                   , containers                 == 0.5.*
-                   , test-framework             == 0.8.*
-                   , test-framework-quickcheck2 == 0.3.*
-                   , test-framework-th          == 0.2.*
+  build-depends    : base
+                   , QuickCheck                 >= 2
+                   , bytestring                 >= 0.10
+                   , cereal                     >= 0.5
+                   , containers                 >= 0.5
                    , messagepack
 
diff --git a/tests/Main.hs b/tests/Main.hs
--- a/tests/Main.hs
+++ b/tests/Main.hs
@@ -4,15 +4,10 @@
 import Control.Applicative
 import Data.MessagePack
 import Data.Serialize
-import Test.Framework.Providers.QuickCheck2
-import Test.Framework.TH
 import Test.QuickCheck
 import qualified Data.ByteString as BS
 import qualified Data.Map as M
 
-main :: IO ()
-main = $(defaultMainGenerator)
-
 instance Arbitrary Object where
     arbitrary = sized $ \n -> oneof [ return ObjectNil
                                     , ObjectUInt   <$> arbitrary
@@ -42,3 +37,6 @@
 prop_encodeDecodeIsIdentity :: Object -> Bool
 prop_encodeDecodeIsIdentity o = either error (== o) $ decode $ encode o
 
+return []
+main :: IO Bool
+main = $quickCheckAll
