diff --git a/Setup.hs b/Setup.hs
deleted file mode 100644
--- a/Setup.hs
+++ /dev/null
@@ -1,2 +0,0 @@
-import Distribution.Simple
-main = defaultMain
diff --git a/postgresql-simple-typed.cabal b/postgresql-simple-typed.cabal
--- a/postgresql-simple-typed.cabal
+++ b/postgresql-simple-typed.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                postgresql-simple-typed
-version:             0.1.0.1
+version:             0.1.0.2
 synopsis:            Typed extension for PostgreSQL simple
 description:         Simplifies simple
 homepage:            https://github.com/tolysz/postgresql-simple-typed
@@ -10,7 +10,7 @@
 license-file:        LICENSE
 author:              Marcin Tolysz
 maintainer:          tolysz@gmail.com
-copyright:           2014-5 Marcin Tolysz
+copyright:           2014-7 Marcin Tolysz
 category:            Database
 build-type:          Simple
 extra-source-files:  README.md
diff --git a/src/Database/PostgreSQL/Simple/DBmoreTH.hs b/src/Database/PostgreSQL/Simple/DBmoreTH.hs
--- a/src/Database/PostgreSQL/Simple/DBmoreTH.hs
+++ b/src/Database/PostgreSQL/Simple/DBmoreTH.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE ScopedTypeVariables       #-}
 {-# LANGUAGE TemplateHaskell           #-}
 {-# LANGUAGE TupleSections             #-}
+{-# LANGUAGE CPP                       #-}
 module Database.PostgreSQL.Simple.DBmoreTH (qr) where
 
 import           Control.Applicative                  (Applicative (..), (*>), (<$>), (<|>))
@@ -16,12 +17,29 @@
 null :: RowParser Null
 null =  field
 
+clap :: Name -> Name -> Type
+clap t x =
+#if MIN_VERSION_template_haskell(2,10,0)
+   AppT (ConT t) (VarT x)
+#else
+   ClassP t [VarT x]
+#endif
+
+instD :: Cxt -> Type -> [Dec] -> Dec
+instD =
+#if MIN_VERSION_template_haskell(2,11,0)
+   InstanceD Nothing
+#else
+   InstanceD
+#endif
+
+
 qr :: Int -> Q [Dec]
 qr k = do
   ns <- replicateM k (newName "a")
-  let pre = map (\x -> ClassP (''FromField) [VarT x]) ns
-  return [ InstanceD pre (loop k ns) [fun]
-         , InstanceD pre (loop2 ns) [fun2]
+  let pre = map (clap ''FromField) ns
+  return [ instD pre (loop k ns) [fun]
+         , instD pre (loop2 ns) [fun2]
          ]
    where
     loop 0 ns = AppT (TupleT k) (VarT (head ns))
diff --git a/src/Database/PostgreSQL/Simple/TypedQuery.hs b/src/Database/PostgreSQL/Simple/TypedQuery.hs
--- a/src/Database/PostgreSQL/Simple/TypedQuery.hs
+++ b/src/Database/PostgreSQL/Simple/TypedQuery.hs
@@ -1,4 +1,5 @@
 {-# Language TemplateHaskell #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
 
 module Database.PostgreSQL.Simple.TypedQuery
 ( genJsonQuery
