diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+0.3.6
+---
+
+- Remove extra spaces, restore Tested-with (see [#48]( https://github.com/fizruk/telegram-bot-simple/pull/48 ));
+- Add support of ghc 9 (see [#47]( https://github.com/fizruk/telegram-bot-simple/pull/47 ));
 0.3.5
 ---
 
diff --git a/src/Telegram/Bot/API/Internal/Utils.hs b/src/Telegram/Bot/API/Internal/Utils.hs
--- a/src/Telegram/Bot/API/Internal/Utils.hs
+++ b/src/Telegram/Bot/API/Internal/Utils.hs
@@ -5,6 +5,8 @@
 {-# LANGUAGE TypeFamilies #-}
 {-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE TypeSynonymInstances #-}
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
 module Telegram.Bot.API.Internal.Utils where
 
 import Control.Applicative ((<|>))
@@ -15,6 +17,7 @@
 import Data.List (intercalate)
 import GHC.Generics
 import Language.Haskell.TH
+import Control.Applicative (liftA2)
 
 deriveJSON' :: Name -> Q [Dec]
 deriveJSON' name = deriveJSON (jsonOptions (nameBase name)) name
@@ -95,3 +98,14 @@
   gsomeParseJSON js
       = L1 <$> gsomeParseJSON js
     <|> R1 <$> gsomeParseJSON js
+
+-- Instance Monoid for TH of ghc < 8.6
+#if !MIN_VERSION_template_haskell(2,17,0)
+
+instance Semigroup a => Semigroup (Q a) where
+  (<>) = liftA2 (<>)
+
+instance Monoid a => Monoid (Q a) where
+  mempty = pure mempty
+
+#endif
diff --git a/src/Telegram/Bot/API/Methods.hs b/src/Telegram/Bot/API/Methods.hs
--- a/src/Telegram/Bot/API/Methods.hs
+++ b/src/Telegram/Bot/API/Methods.hs
@@ -19,6 +19,8 @@
 import Servant.API
 import Servant.Client hiding (Response)
 import Servant.Multipart
+import Servant.Multipart.Client
+import Servant.Multipart.API
 import System.FilePath
 
 import Telegram.Bot.API.Internal.Utils
diff --git a/src/Telegram/Bot/API/Types.hs b/src/Telegram/Bot/API/Types.hs
--- a/src/Telegram/Bot/API/Types.hs
+++ b/src/Telegram/Bot/API/Types.hs
@@ -432,28 +432,31 @@
   , responseParametersRetryAfter :: Maybe Seconds -- ^ In case of exceeding flood control, the number of seconds left to wait before the request can be repeated
   } deriving (Show, Generic)
 
-deriveJSON' ''User
-deriveJSON' ''Chat
-deriveJSON' ''Message
-deriveJSON' ''MessageEntity
-deriveJSON' ''PhotoSize
-deriveJSON' ''Audio
-deriveJSON' ''Document
-deriveJSON' ''Video
-deriveJSON' ''Voice
-deriveJSON' ''VideoNote
-deriveJSON' ''Contact
-deriveJSON' ''Location
-deriveJSON' ''Venue
-deriveJSON' ''UserProfilePhotos
-deriveJSON' ''File
-deriveJSON' ''ReplyKeyboardMarkup
-deriveJSON' ''KeyboardButton
-deriveJSON' ''ReplyKeyboardRemove
-deriveJSON' ''InlineKeyboardMarkup
-deriveJSON' ''InlineKeyboardButton
-deriveJSON' ''CallbackQuery
-deriveJSON' ''ForceReply
-deriveJSON' ''ChatPhoto
-deriveJSON' ''ChatMember
-deriveJSON' ''ResponseParameters
+
+foldMap deriveJSON' 
+  [ ''User
+  , ''Chat
+  , ''Message
+  , ''MessageEntity
+  , ''PhotoSize
+  , ''Audio
+  , ''Document
+  , ''Video
+  , ''Voice
+  , ''VideoNote
+  , ''Contact
+  , ''Location
+  , ''Venue
+  , ''UserProfilePhotos
+  , ''File
+  , ''ReplyKeyboardMarkup
+  , ''KeyboardButton
+  , ''ReplyKeyboardRemove
+  , ''InlineKeyboardMarkup
+  , ''InlineKeyboardButton
+  , ''CallbackQuery
+  , ''ForceReply
+  , ''ChatPhoto
+  , ''ChatMember
+  , ''ResponseParameters
+  ]
diff --git a/telegram-bot-simple.cabal b/telegram-bot-simple.cabal
--- a/telegram-bot-simple.cabal
+++ b/telegram-bot-simple.cabal
@@ -1,13 +1,11 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.33.0.
+-- This file has been generated from package.yaml by hpack version 0.34.4.
 --
 -- see: https://github.com/sol/hpack
---
--- hash: 6d52edc3fb6015df0405b5a83558655525a8de69bd624202d18729eacbb353a1
 
 name:           telegram-bot-simple
-version:        0.3.5
+version:        0.3.6
 synopsis:       Easy to use library for building Telegram bots.
 description:    Please see the README on Github at <https://github.com/fizruk/telegram-bot-simple#readme>
 category:       Web
@@ -74,6 +72,8 @@
     , servant
     , servant-client
     , servant-multipart
+    , servant-multipart-api
+    , servant-multipart-client
     , split
     , stm
     , template-haskell
@@ -106,6 +106,8 @@
     , servant
     , servant-client
     , servant-multipart
+    , servant-multipart-api
+    , servant-multipart-client
     , split
     , stm
     , telegram-bot-simple
@@ -139,6 +141,8 @@
     , servant
     , servant-client
     , servant-multipart
+    , servant-multipart-api
+    , servant-multipart-client
     , split
     , stm
     , telegram-bot-simple
