diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,3 +1,7 @@
+[![Coverage Status](https://img.shields.io/coveralls/tolysz/postgresql-simple-typed.svg)](https://coveralls.io/r/tolysz/postgresql-simple-typed)
+[![Build Status](https://travis-ci.org/tolysz/postgresql-simple-typed.svg?branch=master)](https://travis-ci.org/tolysz/postgresql-simple-typed)
+[![Latest Version](https://img.shields.io/hackage/v/postgresql-simple-typed.svg)](https://hackage.haskell.org/package/postgresql-simple-typed)
+
 postgresql-simple-typed
 =======================
 
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.0
+version:             0.1.0.1
 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:           
+copyright:           2014-5 Marcin Tolysz
 category:            Database
 build-type:          Simple
 extra-source-files:  README.md
@@ -22,17 +22,13 @@
                        Database.PostgreSQL.Simple.TypedQuery
   -- other-modules:       
   -- other-extensions:    
-  build-depends:       base >=4.7 && <4.8
+  build-depends:       base >=4.5 && < 5
                ,       typedquery
                ,       postgresql-libpq
                ,       postgresql-simple
                ,       template-haskell
-               ,       haskell-src-meta
---               ,       parsec
---               ,       aeson
---               ,       bytestring
---               ,       text
---               ,       transformers
+               ,       transformers
                ,       utf8-string
   hs-source-dirs:      src
   default-language:    Haskell2010
+  ghc-options: -Wall -fno-warn-type-defaults
diff --git a/src/Database/PostgreSQL/Simple/DBmore.hs b/src/Database/PostgreSQL/Simple/DBmore.hs
--- a/src/Database/PostgreSQL/Simple/DBmore.hs
+++ b/src/Database/PostgreSQL/Simple/DBmore.hs
@@ -1,4 +1,4 @@
-{-# Language TemplateHaskell #-}
+{-# Language TemplateHaskell, FlexibleInstances #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
 
 module Database.PostgreSQL.Simple.DBmore where
@@ -20,7 +20,7 @@
 qp 23
 qp 24
 qp 25
-
+-}
 qr 11
 qr 12
 qr 13
@@ -70,4 +70,6 @@
 qr 57
 qr 58
 qr 59
--}
+qr 60
+qr 61
+qr 62
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
@@ -1,63 +1,52 @@
-{-# LANGUAGE TupleSections
-           , OverloadedStrings
-           , ScopedTypeVariables
-           , NoMonomorphismRestriction
-           , BangPatterns
-           , TemplateHaskell
-           , LambdaCase
-  #-}
-module Database.PostgreSQL.Simple.DBmoreTH where
-{-- 
-( qp
-, qr
-)
-where
-
-import Database.PostgreSQL.Base ()
-import Database.PostgreSQL.Simple.QueryParams
-import Database.PostgreSQL.Simple.Param
-import Database.PostgreSQL.Simple.Result
-import Database.PostgreSQL.Simple.QueryResults
-
-
-import Language.Haskell.TH.Syntax
-import Control.Monad
-
-import Language.Haskell.Meta.Parse()
-
-import Prelude (map, (!!), (<), (-), (.) ,($), head, otherwise, zipWith3, Int, toInteger)
+{-# LANGUAGE NoMonomorphismRestriction #-}
+{-# LANGUAGE OverloadedStrings         #-}
+{-# LANGUAGE ScopedTypeVariables       #-}
+{-# LANGUAGE TemplateHaskell           #-}
+{-# LANGUAGE TupleSections             #-}
+module Database.PostgreSQL.Simple.DBmoreTH (qr) where
 
--- maybe add case 0 + 1 and make it being generated
+import           Control.Applicative                  (Applicative (..), (*>), (<$>), (<|>))
+import           Control.Monad                        (replicateM)
+import           Database.PostgreSQL.Simple.FromField
+import           Database.PostgreSQL.Simple.FromRow
+import           Database.PostgreSQL.Simple.Types     (Null)
+import           Language.Haskell.TH
+import           Prelude                              hiding (null)
 
-qp :: Int -> Q [Dec]
-qp k =  do
-    ns <- replicateM k (newName "a")
-    let pre = map (\x -> ClassP (''Param) [VarT x]) ns
-    return [ InstanceD pre (loop k ns) [fun ns] ]
-       where
-         loop 0 ns = AppT (TupleT k) (VarT (head ns))
-         loop i ns | i < k = AppT (loop (i-1) ns ) (VarT (ns !! i))
-                   | otherwise = AppT (ConT ''QueryParams) (loop (i-1) ns )
-         fun ns = FunD ('renderParams) [ Clause [TupP (map VarP ns)] (NormalB $ ListE $ map (AppE (VarE 'render) . VarE) ns ) [] ] 
+null :: RowParser Null
+null =  field
 
 qr :: Int -> Q [Dec]
-qr k =  do
-    nsa <- replicateM k (newName "a")
-    nsv <- replicateM k (newName "v")
-    nsf <- replicateM k (newName "f")
-    fs <- newName "fs"
-    vs <- newName "vs"
+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]
+         ]
+   where
+    loop 0 ns = AppT (TupleT k) (VarT (head ns))
+    loop i ns | i < k = AppT (loop (i-1) ns ) (VarT (ns !! i))
+              | otherwise = AppT (ConT ''FromRow) (loop (i-1) ns )
+    loop2 ns = AppT (ConT ''FromRow) (AppT (ConT ''Maybe)(loop (k-1) ns ))
 
-    let pre = map (\x -> ClassP (''Result) [VarT x]) nsa
-    return [ InstanceD pre (loop k nsa) [fun nsa nsf nsv fs vs] ]
-       where
-         loop 0 ns = AppT (TupleT k) (VarT (head ns))
-         loop i ns | i < k = AppT (loop (i-1) ns ) (VarT (ns !! i))
-                   | otherwise = AppT (ConT ''QueryResults) (loop (i-1) ns )
-         fun nsa nsf nsv fs vs= FunD ('convertResults) 
-                             [ Clause [ListP (map VarP nsf), ListP (map VarP nsv)] 
-                                  (NormalB $ TupE $ map VarE nsa )
-                                     (zipWith3 (\a f v -> ValD (BangP (VarP a)) (NormalB (AppE (AppE (VarE 'convert) (VarE f)) (VarE v))) [] ) nsa nsf nsv)
-                             , Clause [VarP fs,VarP vs] (NormalB (AppE (AppE (AppE (VarE 'convertError) (VarE fs)) (VarE vs)) (LitE $ IntegerL $ toInteger k))) []
-                             ]
---}
+    fun = ValD (VarP 'fromRow)
+                   (NormalB $ iterate (sta .) dol !! (k-1) $ ConE (tupleDataName k))
+                   []
+    sta x = InfixE (Just x) (VarE '(<*>)) (Just (VarE 'field))
+    dol x = InfixE (Just x) (VarE '(<$>)) (Just (VarE 'field))
+    fun2 = ValD (VarP 'fromRow)
+                  (NormalB
+                     (inJ
+                         (inJ
+                             (iterate (sta2  .) sta2  !! (k-1) $ VarE 'null)
+                             '(*>)
+                             (AppE (VarE 'pure) (ConE 'Nothing)))
+                         '(<|>)
+                         (inJ
+                               (ConE 'Just)
+                               '(<$>)
+                               (VarE 'fromRow)
+                            )))
+                     []
+    inJ a o b = InfixE (Just a) (VarE o) (Just b)
+    sta2 a = inJ a '(*>) (VarE 'null)
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
@@ -10,7 +10,7 @@
 where
 
 import qualified Database.PostgreSQL.Simple.Types as S (fromQuery)
-import qualified Database.PostgreSQL.Simple       as S (query, query_, execute, execute_, Only(..), In(..), connect, Query, Connection)
+import qualified Database.PostgreSQL.Simple       as S (query, query_, execute, execute_, Only(..), In(..),  Query, Connection)
 import Database.PostgreSQL.Simple.DBmore()
 import qualified Database.TypedQuery.Types as TQ
 import Language.Haskell.TH.Syntax (Q, Exp, Lift(..))
