diff --git a/Linux/Arch/Aur/Rpc.hs b/Linux/Arch/Aur/Rpc.hs
--- a/Linux/Arch/Aur/Rpc.hs
+++ b/Linux/Arch/Aur/Rpc.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE DataKinds #-}
 
@@ -15,24 +16,23 @@
 import Control.Monad.Trans (MonadIO, liftIO)
 import Control.Monad.Trans.Except
 import Data.Proxy
-import Data.Text (Text, unpack)
+import Data.Text (Text)
 import Linux.Arch.Aur.Types
-import Network.HTTP.Client (Manager, newManager)
+import Network.HTTP.Client (newManager)
 import Network.HTTP.Client.TLS
 import Servant.API
 import Servant.Client
-import System.IO.Unsafe
 
 ---
 
-type Info = "rpc" :> QueryParam "v" String
-           :> QueryParam "type" String
-           :> QueryParams "arg[]" String
+type Info = "rpc" :> QueryParam "v" Text
+           :> QueryParam "type" Text
+           :> QueryParams "arg[]" Text
            :> Get '[JSON] RPCResp
 
-type Search = "rpc" :> QueryParam "v" String
-           :> QueryParam "type" String
-           :> QueryParam "arg" String
+type Search = "rpc" :> QueryParam "v" Text
+           :> QueryParam "type" Text
+           :> QueryParam "arg" Text
            :> Get '[JSON] RPCResp
 
 type API = Info :<|> Search
@@ -40,21 +40,23 @@
 api :: Proxy API
 api = Proxy
 
--- Bad, but necessary, apparently.
-__manager :: Manager
-__manager = unsafePerformIO $ newManager tlsManagerSettings
+url :: BaseUrl
+url = BaseUrl Https "aur.archlinux.org" 443 ""
 
 -- | Make a call to the AUR RPC. Assumes version 5 of the API.
-rpcI :<|> rpcS = client api (BaseUrl Http aurUrl 80 "") __manager
-  where aurUrl = "aur.archlinux.org"
+rpcI :<|> rpcS = client api
 
 -- | Perform an @info@ call on one or more package names.
 info :: MonadIO m => [Text] -> m [AurInfo]
-info = unwrap . rpcI (Just "5") (Just "info") . map unpack
+info ps = do
+  manager <- liftIO $ newManager tlsManagerSettings
+  unwrap $ rpcI (Just "5") (Just "info") ps manager url
 
 -- | Perform a @search@ call on a package name or description text.
 search :: MonadIO m => Text -> m [AurInfo]
-search = unwrap . rpcS (Just "5") (Just "search") . Just . unpack
+search p = do
+  manager <- liftIO $ newManager tlsManagerSettings
+  unwrap $ rpcS (Just "5") (Just "search") (Just p) manager url
 
 unwrap :: MonadIO m => ExceptT ServantError IO RPCResp -> m [AurInfo]
 unwrap = liftIO . fmap (either (const []) _results) . runExceptT
diff --git a/aur.cabal b/aur.cabal
--- a/aur.cabal
+++ b/aur.cabal
@@ -1,6 +1,6 @@
 name:                aur
 
-version:             5.0.0
+version:             5.0.1
 
 synopsis:            Access metadata from the Arch Linux User Repository.
 
@@ -47,8 +47,8 @@
                      , http-client >= 0.4.27
                      , http-client-tls >= 0.2.2
                      , mtl >= 2.2.1
-                     , servant >= 0.5 && < 0.6
-                     , servant-client >= 0.5 && < 0.6
+                     , servant >= 0.7 && < 0.8
+                     , servant-client >= 0.7 && < 0.8
                      , text >=1.1 && <1.3
                      , transformers >= 0.4.2.0
 
