diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -25,6 +25,13 @@
 $ cabal install
 ```
 
+## Test
+
+```bash
+$ cabal install --enable-tests --only-dependencies
+$ cabal test
+```
+
 ## Example
 
 ```
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.3
+version:             0.1.0.4
 synopsis:            Haskell wrapper for the Linode v4 API
 -- description:         
 homepage:            https://github.com/eatonphil/linode-haskell
diff --git a/src/Network/Linode/Api.hs b/src/Network/Linode/Api.hs
--- a/src/Network/Linode/Api.hs
+++ b/src/Network/Linode/Api.hs
@@ -89,58 +89,59 @@
 getDatacenter id = get ["/datacenters", id]
 
 getDistributions :: IO (Data.Maybe.Maybe Rsp.Distributions)
-getDistributions = get ["/distributions"]
+getDistributions = get ["/linode/distributions"]
 
 getDistributionsRecommended :: IO (Data.Maybe.Maybe Rsp.Distributions)
-getDistributionsRecommended = get ["/distributions/recommended"]
+getDistributionsRecommended = get ["/linode/distributions/recommended"]
 
 getDistribution :: String -> IO (Data.Maybe.Maybe Rsp.Distribution)
-getDistribution id = get ["/distributions", id]
+getDistribution id = get ["/linode/distributions", id]
 
 getLinodes :: IO (Data.Maybe.Maybe Rsp.Linodes)
-getLinodes = get ["/linodes"]
+getLinodes = get ["/linode/instances"]
 
 getLinode :: String -> IO (Data.Maybe.Maybe Rsp.Linode)
-getLinode id = get ["/linodes", id]
+getLinode id = get ["/linode/instances", id]
 
 addLinode :: Req.Linode -> IO (Data.Maybe.Maybe Rsp.Linode)
-addLinode linode = post ["/linodes"] linode
+addLinode linode = post ["/linode/instances"] linode
 
 editLinode :: Rsp.Linode -> IO (Data.Maybe.Maybe Rsp.Linode)
-editLinode linode = put ["/linodes", Rsp.id linode] linode
+editLinode linode = put ["/linode/instances", show $ Rsp.id linode] linode
 
 getDisks :: String -> IO (Data.Maybe.Maybe Rsp.Disks)
-getDisks linodeId = get ["/linodes", linodeId, "disks"]
+getDisks linodeId = get ["/linode/instances", linodeId, "disks"]
 
 getDisk :: String -> String -> IO (Data.Maybe.Maybe Rsp.Disk)
-getDisk linodeId diskId = get ["/linodes", linodeId, "disks", diskId]
+getDisk linodeId diskId = get ["/linode/instances", linodeId, "disks", diskId]
 
 addDisk :: String -> Req.Disk -> IO (Data.Maybe.Maybe Rsp.Disk)
-addDisk linodeId disk = post ["/linodes", linodeId] disk
+addDisk linodeId disk = post ["/linode/instances", linodeId] disk
 
 getConfigs :: String -> IO (Data.Maybe.Maybe Rsp.Configs)
-getConfigs linodeId = get ["/linodes", linodeId, "configs"]
+getConfigs linodeId = get ["/linode/instances", linodeId, "configs"]
 
 getConfig :: String -> String -> IO (Data.Maybe.Maybe Rsp.Config)
-getConfig linodeId configId = get ["/linodes", linodeId, "configs", configId]
+getConfig linodeId configId = get ["/linode/instances", linodeId, "configs", configId]
 
 addConfig :: String -> Req.Config -> IO (Data.Maybe.Maybe Rsp.Config)
-addConfig linodeId config = post ["/linodes", linodeId, "configs"] config
+addConfig linodeId config = post ["/linode/instances", linodeId, "configs"] config
 
+{- There are more services endpoints -}
 getServices :: IO (Data.Maybe.Maybe Rsp.Services)
-getServices = get ["/services"]
+getServices = get ["/linode/services"]
 
 getService :: String -> IO (Data.Maybe.Maybe Rsp.Service)
-getService id = get ["/services", id]
+getService id = get ["/linode/services", id]
 
 getDNSZones :: IO (Data.Maybe.Maybe Rsp.DNSZones)
-getDNSZones = get ["/dnszones"]
+getDNSZones = get ["/dns/zones"]
 
 getDNSZone :: String -> IO (Data.Maybe.Maybe Rsp.DNSZone)
-getDNSZone id = get ["/dnszones", id]
+getDNSZone id = get ["/dns/zones", id]
 
 getKernels :: IO (Data.Maybe.Maybe Rsp.Kernels)
-getKernels = get ["/kernels"]
+getKernels = get ["/linode/kernels"]
 
 getKernel :: String -> IO (Data.Maybe.Maybe Rsp.Kernel)
-getKernel id = get ["/kernels", id]
+getKernel id = get ["/linode/kernels", id]
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
@@ -50,7 +50,6 @@
                          mbits_out :: M.Maybe Int,
                          monthly_price :: Int,
                          ram :: M.Maybe Int,
-                         service_type :: String,
                          transfer :: M.Maybe Int,
                          vcpus :: M.Maybe Int } deriving (Eq, Show, GHC.Generics.Generic)
 
@@ -96,6 +95,7 @@
                        deprecated :: Bool,
                        xen :: Bool,
                        kvm :: Bool,
+                       description :: M.Maybe String,
                        label :: String,
                        version :: String,
                        x64 :: Bool } deriving (Eq, Show, GHC.Generics.Generic)
@@ -133,9 +133,11 @@
 instance Data.Aeson.FromJSON LinodeBackupsSchedule
 instance Data.Aeson.ToJSON LinodeBackupsSchedule
 
+
 data LinodeBackups = LinodeBackups { enabled :: Bool,
                                      schedule :: LinodeBackupsSchedule,
-                                     last_backup :: M.Maybe String } deriving (Eq, Show, GHC.Generics.Generic)
+                                     snapshot :: M.Maybe Backup,
+                                     last_backup :: M.Maybe Backup } deriving (Eq, Show, GHC.Generics.Generic)
 
 instance Data.Aeson.FromJSON LinodeBackups
 instance Data.Aeson.ToJSON LinodeBackups
@@ -159,7 +161,7 @@
 instance Data.Aeson.FromJSON LinodeIPAddresses
 instance Data.Aeson.ToJSON LinodeIPAddresses
 
-data Linode = Linode { id :: String,
+data Linode = Linode { id :: Int,
                        alerts :: LinodeAlerts,
                        backups :: LinodeBackups,
                        created :: String,
@@ -185,10 +187,9 @@
 instance Data.Aeson.ToJSON Linodes
 
 -- Missing type field
-data Backup = Backup { id :: String,
-                       label :: String,
+data Backup = Backup { id :: Int,
+                       label :: M.Maybe String,
                        status :: String,
-                       linode_id :: String,
                        datacenter :: Datacenter,
                        created :: String,
                        updated :: String,
