diff --git a/client/Main.hs b/client/Main.hs
deleted file mode 100644
--- a/client/Main.hs
+++ /dev/null
@@ -1,159 +0,0 @@
--- This source code is distributed under the terms of a MIT license,
--- Copyright (c) 2016-present, SoundCloud Ltd.
--- All rights reserved.
---
--- This source code is distributed under the terms of a MIT license,
--- found in the LICENSE file.
-
-{-# LANGUAGE DataKinds #-}
-{-# LANGUAGE DeriveGeneric #-}
-{-# LANGUAGE TypeOperators #-}
-
-module Main where
-
-import Control.Monad (void)
-import Control.Monad.Trans.Either
-import Control.Monad.IO.Class
-import Servant.API
-import Servant.Client
-
-import Data.List.Split (splitOn)
-import Network.URI (URI (..), URIAuth (..), parseURI)
-import Data.Maybe (fromMaybe)
-import Test.QuickCheck
-import Control.Monad
-import Kubernetes.Model.V1.Node
-import Kubernetes.Model.V1.PersistentVolumeClaimList
-import Kubernetes.Model.V1.ObjectFieldSelector
-import Kubernetes.Model.V1.SELinuxOptions
-import Kubernetes.Model.V1.ContainerStateRunning
-import Kubernetes.Model.V1.VolumeMount
-import Kubernetes.Model.V1.PersistentVolumeClaimSpec
-import Kubernetes.Model.V1.CephFSVolumeSource
-import Kubernetes.Model.V1.DownwardAPIVolumeSource
-import Kubernetes.Model.Unversioned.StatusCause
-import Kubernetes.Model.V1.GCEPersistentDiskVolumeSource
-import Kubernetes.Model.V1.ResourceQuotaSpec
-import Kubernetes.Model.V1.NamespaceStatus
-import Kubernetes.Model.V1.NamespaceSpec
-import Kubernetes.Model.V1.PersistentVolume
-import Kubernetes.Model.V1.ConfigMapList
-import Kubernetes.Model.V1.PersistentVolumeStatus
-import Kubernetes.Model.V1.EndpointsList
-import Kubernetes.Model.V1.GitRepoVolumeSource
-import Kubernetes.Model.V1.ConfigMap
-import Kubernetes.Model.V1.Capabilities
-import Kubernetes.Model.V1.PodTemplateList
-import Kubernetes.Model.V1.NodeCondition
-import Kubernetes.Model.V1.LocalObjectReference
-import Kubernetes.Model.V1.ResourceQuotaStatus
-import Kubernetes.Model.V1.ExecAction
-import Kubernetes.Model.V1.ObjectMeta
-import Kubernetes.Model.V1.LimitRangeSpec
-import Kubernetes.Model.V1.ISCSIVolumeSource
-import Kubernetes.Model.V1.EmptyDirVolumeSource
-import Kubernetes.Model.V1.NodeList
-import Kubernetes.Model.Unversioned.Patch
-import Kubernetes.Model.V1.PersistentVolumeClaim
-import Kubernetes.Model.V1.NamespaceList
-import Kubernetes.Model.V1.ServiceAccount
-import Kubernetes.Model.V1.NodeAddress
-import Kubernetes.Model.V1.Namespace
-import Kubernetes.Model.V1.FlockerVolumeSource
-import Kubernetes.Model.V1.PersistentVolumeClaimVolumeSource
-import Kubernetes.Model.Unversioned.ListMeta
-import Kubernetes.Model.V1.ResourceQuotaList
-import Kubernetes.Model.V1.PersistentVolumeClaimStatus
-import Kubernetes.Model.V1.EndpointSubset
-import Kubernetes.Model.V1.SecretVolumeSource
-import Kubernetes.Model.V1.FlexVolumeSource
-import Kubernetes.Model.V1.EnvVarSource
-import Kubernetes.Model.V1.LoadBalancerIngress
-import Kubernetes.Model.V1.Service
-import Kubernetes.Model.V1.ServiceAccountList
-import Kubernetes.Model.V1.LimitRangeList
-import Kubernetes.Model.V1.Endpoints
-import Kubernetes.Model.V1.DeleteOptions
-import Kubernetes.Model.V1.Volume
--- import Kubernetes.Model.integer
-import Kubernetes.Model.V1.Probe
-import Kubernetes.Model.V1.SecretKeySelector
-import Kubernetes.Model.V1.ReplicationController
-import Kubernetes.Model.V1.Capability
-import Kubernetes.Model.V1.LimitRange
-import Kubernetes.Model.V1.DownwardAPIVolumeFile
-import Kubernetes.Model.V1.PodStatus
-import Kubernetes.Model.V1.PodSpec
-import Kubernetes.Model.V1.ContainerPort
-import Kubernetes.Model.V1.ResourceQuota
-import Kubernetes.Model.V1.EventList
-import Kubernetes.Model.V1.Lifecycle
-import Kubernetes.Model.V1.ReplicationControllerSpec
-import Kubernetes.Model.V1.NodeStatus
-import Kubernetes.Model.V1.GlusterfsVolumeSource
-import Kubernetes.Model.V1.Handler
-import Kubernetes.Model.V1.EventSource
-import Kubernetes.Model.V1.PodCondition
-import Kubernetes.Model.V1.RBDVolumeSource
-import Kubernetes.Model.V1.PodTemplate
-import Kubernetes.Model.V1.ServiceStatus
-import Kubernetes.Model.V1.NFSVolumeSource
-import Kubernetes.Model.V1.FCVolumeSource
-import Kubernetes.Model.V1.EndpointPort
-import Kubernetes.Model.V1.TCPSocketAction
-import Kubernetes.Model.Unversioned.StatusDetails
-import Kubernetes.Model.V1.HTTPGetAction
-import Kubernetes.Model.V1.LoadBalancerStatus
-import Kubernetes.Model.V1.SecretList
-import Kubernetes.Model.V1.Container
-import Kubernetes.Model.V1.PersistentVolumeSpec
-import Kubernetes.Model.V1.PodSecurityContext
-import Kubernetes.Model.V1.ReplicationControllerStatus
-import Kubernetes.Model.V1.FinalizerName
-import Kubernetes.Model.V1.ServicePort
-import Kubernetes.Model.V1.ComponentCondition
-import Kubernetes.Model.V1.ComponentStatusList
-import Kubernetes.Model.V1.HostPathVolumeSource
-import Kubernetes.Model.Json.WatchEvent
-import Kubernetes.Model.V1.ContainerStateTerminated
-import Kubernetes.Model.V1.Binding
-import Kubernetes.Model.V1.CinderVolumeSource
-import Kubernetes.Model.V1.ContainerState
-import Kubernetes.Model.V1.SecurityContext
-import Kubernetes.Model.V1.AWSElasticBlockStoreVolumeSource
-import Kubernetes.Model.V1.ContainerStatus
-import Kubernetes.Model.V1.ContainerImage
-import Kubernetes.Model.V1.ReplicationControllerList
-import Kubernetes.Model.V1.NodeDaemonEndpoints
-import Kubernetes.Model.V1.Secret
-import Kubernetes.Model.V1.Event
-import Kubernetes.Model.V1.EnvVar
-import Kubernetes.Model.V1.ResourceRequirements
-import Kubernetes.Model.V1.PersistentVolumeAccessMode
-import Kubernetes.Model.V1.ComponentStatus
-import Kubernetes.Model.V1.LimitRangeItem
-import Kubernetes.Model.V1.PodTemplateSpec
-import Kubernetes.Model.V1.PodList
-import Kubernetes.Model.V1.ServiceList
-import Kubernetes.Model.V1.PersistentVolumeList
-import Kubernetes.Model.V1.ObjectReference
-import Kubernetes.Model.V1.ContainerStateWaiting
-import Kubernetes.Model.Unversioned.Status
-import Kubernetes.Model.V1.ConfigMapKeySelector
-import Kubernetes.Model.V1.NodeSystemInfo
-import Kubernetes.Model.V1.ServiceSpec
-import Kubernetes.Model.V1.Pod
-import Kubernetes.Model.V1.NodeSpec
-import Kubernetes.Model.V1.EndpointAddress
-import Kubernetes.Model.V1.DaemonEndpoint
-import Kubernetes.Api.ApivApi
-
--- userClient :: IO ()
--- userClient = do 
---     users <- sample' (arbitrary :: Gen String)
---     let user = last users
---     void . runEitherT $ do
---         getUserByName user >>= (liftIO . putStrLn . show)
-
-main :: IO ()
-main = putStrLn "Hello Server!"
diff --git a/haskell-kubernetes.cabal b/haskell-kubernetes.cabal
--- a/haskell-kubernetes.cabal
+++ b/haskell-kubernetes.cabal
@@ -1,5 +1,5 @@
 name:                haskell-kubernetes
-version:             0.4.0
+version:             0.5.0
 synopsis:            Haskell bindings to the Kubernetes API (via swagger-codegen)
 description:         Please see README.md
 homepage:            https://github.com/soundcloud/haskell-kubernetes
@@ -145,21 +145,20 @@
                      , Kubernetes.Model.V1.VolumeMount
                        Kubernetes.Utils
   ghc-options:         -Wall -fcontext-stack=10000
-  build-depends:       base                 >= 4.8  && < 4.9
+  build-depends:       base                 >= 4.9  && < 5
                      , aeson                >= 0.9  && < 0.12
                      , bytestring           >= 0.10 && < 0.11
                      , containers           >= 0.5  && < 0.6
                      , either               >= 4.4  && < 4.5
                      , http-api-data        >= 0.2  && < 0.3
                      , http-types           == 0.9.*
-                     , lens                 == 4.13.*
+                     , lens                 == 4.14.*
                      , network-uri          >= 2.6  && < 2.7
                      , QuickCheck           >= 2.8  && < 2.9
                      , quickcheck-instances >= 0.3  && < 0.4
                      , scientific           >= 0.3  && < 0.4
-                     , servant              >= 0.7  && < 0.8
-                     , servant-client       >= 0.7  && < 0.8
-                     , servant-server       >= 0.7  && < 0.8
+                     , servant              >= 0.8  && < 0.9
+                     , servant-client       >= 0.8  && < 0.9
                      , split                >= 0.2  && < 0.3
                      , text                 >= 1.2  && < 1.3
                      , unordered-containers >= 0.2  && < 0.3
@@ -167,29 +166,3 @@
                      , wai                  >= 3.2  && < 3.3
 
   default-language:    Haskell2010
-
-executable client
-  hs-source-dirs:      client
-  main-is:             Main.hs
-  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
-  build-depends:       base
-                     , either               >= 4.4 && < 4.5
-                     , haskell-kubernetes   >= 0.4 && < 0.5
-                     , network-uri          >= 2.6 && < 2.7
-                     , QuickCheck           >= 2.8 && < 2.9
-                     , servant              >= 0.7 && < 0.8
-                     , servant-client       >= 0.7 && < 0.8
-                     , split                >= 0.2 && < 0.3
-                     , transformers         >= 0.4 && < 0.5
-  default-language:    Haskell2010
-
---executable server
-  --hs-source-dirs:      server
-  --main-is:             Main.hs
-  --ghc-options:         -threaded -fcontext-stack=1000 -rtsopts -with-rtsopts=-N
-  --build-depends:       base
-                     --, haskell-kubernetes   >= 0.3 && < 0.4
-                     --, servant-server       >= 0.4 && < 0.5
-                     --, servant-mock         >= 0.4 && < 0.5
-                     --, warp                 >= 3.2 && < 3.3
-  --default-language:    Haskell2010
diff --git a/lib/Kubernetes/Model/V1/Secret.hs b/lib/Kubernetes/Model/V1/Secret.hs
--- a/lib/Kubernetes/Model/V1/Secret.hs
+++ b/lib/Kubernetes/Model/V1/Secret.hs
@@ -41,7 +41,11 @@
 
 makeLenses ''Secret
 
-$(deriveJSON defaultOptions{fieldLabelModifier = (\n -> if n == "_type_" then "type" else P.drop 1 n)} ''Secret)
+$(deriveJSON defaultOptions{fieldLabelModifier =
+  (\n -> case n of
+    "_type_" -> "type"
+    "_data_" -> "data"
+    _ -> P.drop 1 n)} ''Secret)
 
 instance Arbitrary Secret where
     arbitrary = Secret <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary
