diff --git a/geniserver.cabal b/geniserver.cabal
--- a/geniserver.cabal
+++ b/geniserver.cabal
@@ -1,5 +1,5 @@
 Name:           geniserver
-Version:        0.24.1.1
+Version:        0.25
 License:        GPL
 License-file:   LICENSE
 Author:         Eric Kow
@@ -20,10 +20,10 @@
                , cmdargs >= 0.7
                , snap-core
                , http-types
-               , json >= 0.4.3 && < 0.6
+               , json < 0.10
                , transformers
                , utf8-string >= 0.3.5 && < 1.1
-               , text  < 1.2
+               , text
                , GenI >= 0.19.0 && < 0.26
   Ghc-options:    -Wall
   Hs-Source-Dirs: src
diff --git a/src/NLP/GenI/Server.hs b/src/NLP/GenI/Server.hs
--- a/src/NLP/GenI/Server.hs
+++ b/src/NLP/GenI/Server.hs
@@ -22,14 +22,14 @@
 
 import           Control.Applicative           ((<$>))
 import           Control.Monad.IO.Class        (liftIO)
-import           Control.Monad.Trans.Error     (runErrorT)
+import           Control.Monad.Trans.Except    (runExceptT)
 import qualified Data.ByteString.Lazy          as B
-import           Data.Int
 import           Data.IORef
 import           Data.Text                     (Text)
 import qualified Data.Text                     as T
 import qualified Data.Text.Lazy                as TL
 import qualified Data.Text.Lazy.Encoding       as TL
+import qualified GHC.Word                      as Word
 
 import           Snap.Core
 import qualified Text.JSON                     as J
@@ -56,7 +56,7 @@
 parseInstruction :: J.JSON j => B.ByteString -> Either String j
 parseInstruction = J.resultToEither . J.decode . TL.unpack . TL.decodeUtf8
 
-application :: Int64 -- ^ maximum request size (see 'defaultReqMaxSize')
+application :: Word.Word64 -- ^ maximum request size (see 'defaultReqMaxSize')
             -> ProgState
             -> CustomSem sem
             -> Snap ()
@@ -105,7 +105,7 @@
         Left e         -> return (Left e)
         Right csem -> do
             -- do the realisation
-            let helper builder = simplifyResults <$> (runErrorT $ runGeni pst wrangler builder csem)
+            let helper builder = simplifyResults <$> (runExceptT $ runGeni pst wrangler builder csem)
             results <- case getBuilderType conf of
                            SimpleBuilder         -> helper simpleBuilder_2p
                            SimpleOnePhaseBuilder -> helper simpleBuilder_1p
diff --git a/src/NLP/GenI/Server/Flag.hs b/src/NLP/GenI/Server/Flag.hs
--- a/src/NLP/GenI/Server/Flag.hs
+++ b/src/NLP/GenI/Server/Flag.hs
@@ -20,7 +20,7 @@
 
 module NLP.GenI.Server.Flag where
 
-import           Data.Int
+import qualified GHC.Word as Word
 
 import           NLP.GenI.Configuration
 import           NLP.GenI.General       (snd3)
@@ -53,7 +53,7 @@
 
 data PortFlg = PortFlg Int deriving (Eq, Show, Typeable)
 data HostFlg = HostFlg String deriving (Eq, Show, Typeable)
-data ReqMaxSizeFlg = ReqMaxSizeFlg Int64 deriving (Eq, Show, Typeable)
+data ReqMaxSizeFlg = ReqMaxSizeFlg Word.Word64 deriving (Eq, Show, Typeable)
 
 defaultHost :: String
 defaultHost = "127.0.0.1"
@@ -61,7 +61,7 @@
 defaultPort :: Int
 defaultPort = 4364
 
-defaultReqMaxSize :: Int64
+defaultReqMaxSize :: Word.Word64
 defaultReqMaxSize = 4194304
 
 optionsForRequest :: [OptDescr Flag]
