diff --git a/linode-v4.cabal b/linode-v4.cabal
--- a/linode-v4.cabal
+++ b/linode-v4.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                linode-v4
-version:             0.1.0.2
+version:             0.1.0.3
 synopsis:            Haskell wrapper for the Linode v4 API
 -- description:         
 homepage:            https://github.com/eatonphil/linode-haskell
@@ -22,4 +22,12 @@
   other-extensions:    OverloadedStrings, DeriveGeneric, DuplicateRecordFields, ScopedTypeVariables
   build-depends:       base >=4.9 && <4.10, aeson >=0.11 && <0.12, bytestring >=0.10 && <0.11, http-conduit >=2.2 && <2.3, unordered-containers >=0.2 && <0.3
   hs-source-dirs:      src
+  default-language:    Haskell2010
+
+test-suite spec
+  type:                exitcode-stdio-1.0
+  ghc-options:         -Wall
+  hs-source-dirs:      test
+  main-is:             Spec.hs
+  build-depends:       base >=4.9 && <4.10, hspec ==2.2.*, linode-v4
   default-language:    Haskell2010
diff --git a/src/Network/Linode/Response.hs b/src/Network/Linode/Response.hs
--- a/src/Network/Linode/Response.hs
+++ b/src/Network/Linode/Response.hs
@@ -44,14 +44,14 @@
 instance Data.Aeson.ToJSON Distributions
 
 data Service = Service { id :: String,
-                         storage :: Int,
+                         storage :: Maybe Int,
                          hourly_price :: Int,
                          label :: String,
                          mbits_out :: M.Maybe Int,
                          monthly_price :: Int,
-                         ram :: Int,
+                         ram :: M.Maybe Int,
                          service_type :: String,
-                         transfer :: Int,
+                         transfer :: M.Maybe Int,
                          vcpus :: M.Maybe Int } deriving (Eq, Show, GHC.Generics.Generic)
 
 
diff --git a/test/Spec.hs b/test/Spec.hs
new file mode 100644
--- /dev/null
+++ b/test/Spec.hs
@@ -0,0 +1,1 @@
+{-# OPTIONS_GHC -F -pgmF hspec-discover #-}
