diff --git a/Database/HSQL/ODBC.hsc b/Database/HSQL/ODBC.hsc
--- a/Database/HSQL/ODBC.hsc
+++ b/Database/HSQL/ODBC.hsc
@@ -1,6 +1,6 @@
 {-# OPTIONS -fglasgow-exts #-}
 
------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------
 {-| Module      :  Database.HSQL.ODBC
     Copyright   :  (c) Krasimir Angelov 2003
     License     :  BSD-style
@@ -11,7 +11,7 @@
 
     The module provides interface to ODBC
 -}
------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------
 
 module Database.HSQL.ODBC(connect, driverConnect, module Database.HSQL) where
 
@@ -23,7 +23,7 @@
 import Foreign
 import Foreign.C
 import Control.Monad(unless)
-import Control.Exception(throwDyn)
+import Control.OldException(throwDyn)
 import Control.Concurrent.MVar
 import System.IO.Unsafe
 import System.Time
@@ -54,38 +54,81 @@
 #let CALLCONV = "ccall"
 #endif
 
-foreign import #{CALLCONV} "HsODBC.h SQLAllocEnv" sqlAllocEnv :: Ptr HENV -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLAllocEnv" 
+ sqlAllocEnv:: Ptr HENV -> IO SQLRETURN
+
 #ifdef mingw32_HOST_OS
-foreign import ccall "HsODBC.h &my_sqlFreeEnv" sqlFreeEnv_p :: FunPtr (HENV -> IO ())
+foreign import ccall "HsODBC.h &my_sqlFreeEnv" 
+ sqlFreeEnv_p:: FunPtr (HENV -> IO ())
 #else
-foreign import ccall "HsODBC.h &SQLFreeEnv" sqlFreeEnv_p :: FunPtr (HENV -> IO ())
+foreign import ccall "HsODBC.h &SQLFreeEnv" 
+ sqlFreeEnv_p:: FunPtr (HENV -> IO ())
 #endif
-foreign import #{CALLCONV} "HsODBC.h SQLAllocConnect" sqlAllocConnect :: HENV -> Ptr HDBC -> IO SQLRETURN
-foreign import #{CALLCONV} "HsODBC.h SQLFreeConnect" sqlFreeConnect:: HDBC -> IO SQLRETURN
-foreign import #{CALLCONV} "HsODBC.h SQLConnect" sqlConnect :: HDBC -> CString -> Int -> CString -> Int -> CString -> Int -> IO SQLRETURN
-foreign import #{CALLCONV} "HsODBC.h SQLDriverConnect" sqlDriverConnect :: HDBC -> Ptr () -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT -> Ptr SQLSMALLINT -> SQLUSMALLINT -> IO SQLRETURN
-foreign import #{CALLCONV} "HsODBC.h SQLDisconnect" sqlDisconnect :: HDBC -> IO SQLRETURN
-foreign import #{CALLCONV} "HsODBC.h SQLAllocStmt" sqlAllocStmt :: HDBC -> Ptr HSTMT -> IO SQLRETURN
-foreign import #{CALLCONV} "HsODBC.h SQLFreeStmt" sqlFreeStmt :: HSTMT -> SQLUSMALLINT -> IO SQLRETURN
-foreign import #{CALLCONV} "HsODBC.h SQLNumResultCols" sqlNumResultCols :: HSTMT -> Ptr SQLUSMALLINT -> IO SQLRETURN
-foreign import #{CALLCONV} "HsODBC.h SQLDescribeCol" sqlDescribeCol :: HSTMT -> SQLUSMALLINT -> CString -> SQLSMALLINT -> Ptr SQLSMALLINT -> Ptr SQLSMALLINT -> Ptr SQLULEN -> Ptr SQLSMALLINT -> Ptr SQLSMALLINT -> IO SQLRETURN
-foreign import #{CALLCONV} "HsODBC.h SQLBindCol" sqlBindCol :: HSTMT -> SQLUSMALLINT -> SQLSMALLINT -> Ptr a -> SQLLEN -> Ptr SQLINTEGER -> IO SQLRETURN
-foreign import #{CALLCONV} "HsODBC.h SQLFetch" sqlFetch :: HSTMT -> IO SQLRETURN
-foreign import #{CALLCONV} "HsODBC.h SQLGetDiagRec" sqlGetDiagRec :: SQLSMALLINT -> SQLHANDLE -> SQLSMALLINT -> CString -> Ptr SQLINTEGER -> CString -> SQLSMALLINT -> Ptr SQLSMALLINT -> IO SQLRETURN
-foreign import #{CALLCONV} "HsODBC.h SQLExecDirect" sqlExecDirect :: HSTMT -> CString -> Int -> IO SQLRETURN
-foreign import #{CALLCONV} "HsODBC.h SQLSetConnectOption" sqlSetConnectOption :: HDBC -> SQLUSMALLINT -> SQLULEN -> IO SQLRETURN
-foreign import #{CALLCONV} "HsODBC.h SQLTransact" sqlTransact :: HENV -> HDBC -> SQLUSMALLINT -> IO SQLRETURN
-foreign import #{CALLCONV} "HsODBC.h SQLGetData" sqlGetData :: HSTMT -> SQLUSMALLINT -> SQLSMALLINT -> Ptr () -> SQLINTEGER -> Ptr SQLINTEGER -> IO SQLRETURN
-foreign import #{CALLCONV} "HsODBC.h SQLTables" sqlTables :: HSTMT -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT -> IO SQLRETURN
-foreign import #{CALLCONV} "HsODBC.h SQLColumns" sqlColumns :: HSTMT -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT -> IO SQLRETURN
-foreign import #{CALLCONV} "HsODBC.h SQLMoreResults" sqlMoreResults :: HSTMT -> IO SQLRETURN
+
+foreign import #{CALLCONV} "HsODBC.h SQLAllocConnect" 
+ sqlAllocConnect:: HENV -> Ptr HDBC -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLFreeConnect" 
+ sqlFreeConnect:: HDBC -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLConnect" 
+ sqlConnect:: HDBC -> CString -> Int -> CString -> Int -> CString -> Int 
+           -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLDriverConnect" 
+ sqlDriverConnect:: HDBC -> Ptr () -> CString -> SQLSMALLINT -> CString 
+                 -> SQLSMALLINT -> Ptr SQLSMALLINT -> SQLUSMALLINT 
+                 -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLDisconnect" 
+ sqlDisconnect:: HDBC -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLAllocStmt" 
+ sqlAllocStmt:: HDBC -> Ptr HSTMT -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLFreeStmt" 
+ sqlFreeStmt:: HSTMT -> SQLUSMALLINT -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLNumResultCols" 
+ sqlNumResultCols:: HSTMT -> Ptr SQLUSMALLINT -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLDescribeCol" 
+ sqlDescribeCol:: HSTMT -> SQLUSMALLINT -> CString -> SQLSMALLINT 
+               -> Ptr SQLSMALLINT -> Ptr SQLSMALLINT -> Ptr SQLULEN 
+               -> Ptr SQLSMALLINT -> Ptr SQLSMALLINT 
+               -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLBindCol" 
+ sqlBindCol:: HSTMT -> SQLUSMALLINT -> SQLSMALLINT -> Ptr a 
+           -> SQLLEN -> Ptr SQLINTEGER 
+           -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLFetch" 
+ sqlFetch:: HSTMT -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLGetDiagRec" 
+ sqlGetDiagRec:: SQLSMALLINT -> SQLHANDLE -> SQLSMALLINT -> CString 
+              -> Ptr SQLINTEGER -> CString -> SQLSMALLINT -> Ptr SQLSMALLINT 
+              -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLExecDirect" 
+ sqlExecDirect:: HSTMT -> CString -> Int -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLSetConnectOption" 
+ sqlSetConnectOption:: HDBC -> SQLUSMALLINT -> SQLULEN -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLTransact" 
+ sqlTransact:: HENV -> HDBC -> SQLUSMALLINT -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLGetData" 
+ sqlGetData:: HSTMT -> SQLUSMALLINT -> SQLSMALLINT -> Ptr () 
+           -> SQLINTEGER -> Ptr SQLINTEGER 
+           -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLTables" 
+ sqlTables:: HSTMT -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT 
+          -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT 
+          -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLColumns" 
+ sqlColumns:: HSTMT -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT 
+           -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT 
+           -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLMoreResults" 
+ sqlMoreResults:: HSTMT -> IO SQLRETURN
+
 #if defined(MSSQL_ODBC)
-foreign import #{CALLCONV} "HsODBC.h SQLSetStmtAttr" sqlSetStmtAttr :: HSTMT -> SQLINTEGER -> SQLINTEGER -> SQLINTEGER -> IO SQLRETURN
+foreign import #{CALLCONV} "HsODBC.h SQLSetStmtAttr" 
+ sqlSetStmtAttr:: HSTMT -> SQLINTEGER -> SQLINTEGER -> SQLINTEGER 
+               -> IO SQLRETURN
 #endif
 
------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------
 -- routines for handling exceptions
------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------
 
 handleSqlResult :: SQLSMALLINT -> SQLHANDLE -> SQLRETURN -> IO ()
 handleSqlResult handleType handle res
@@ -110,18 +153,21 @@
 	    alloca $ \pNative ->
 	    allocaBytes 256 $ \pMsg ->
 	    alloca $ \pTextLen -> do
-		  res <- sqlGetDiagRec handleType handle 1 pState pNative pMsg 256 pTextLen
+		  res <- sqlGetDiagRec handleType handle 1 
+                                       pState pNative pMsg 256 pTextLen
 		  if res == (#const SQL_NO_DATA)
 		    then return SqlNoData
 		    else do
 		      state  <- peekCString pState
 		      native <- peek pNative
 		      msg    <- peekCString pMsg
-		      return (SqlError {seState=state, seNativeError=fromIntegral native, seErrorMsg=msg})
+		      return (SqlError { seState=state
+                                       , seNativeError=fromIntegral native
+                                       , seErrorMsg=msg })
 
------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------
 -- keeper of HENV
------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------
 
 {-# NOINLINE myEnvironment #-}
 myEnvironment :: HENVRef
@@ -131,9 +177,9 @@
 	handleSqlResult 0 nullPtr res
 	newForeignPtr sqlFreeEnv_p hEnv
 
------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------
 -- Connect/Disconnect
------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------
 
 -- | Makes a new connection to the ODBC data source
 connect :: String               -- ^ Data source name
@@ -144,7 +190,10 @@
         withCString server $ \pServer ->
 	withCString user $ \pUser ->
 	withCString authentication $ \pAuthentication ->
-	sqlConnect hDBC pServer (#const SQL_NTS) pUser (#const SQL_NTS) pAuthentication (#const SQL_NTS)
+	sqlConnect hDBC 
+                   pServer (#const SQL_NTS) 
+                   pUser (#const SQL_NTS) 
+                   pAuthentication (#const SQL_NTS)
 
 -- | 'driverConnect' is an alternative to 'connect'. It supports data sources that 
 -- require more connection information than the three arguments in 'connect'
diff --git a/Setup.lhs b/Setup.lhs
--- a/Setup.lhs
+++ b/Setup.lhs
@@ -1,18 +1,22 @@
 #!/usr/bin/runghc
 
 \begin{code}
-import Distribution.Simple
-import Distribution.Setup
+import Distribution.Simple(defaultMainWithHooks ,simpleUserHooks ,preConf)
+import Distribution.Simple.Setup(ConfigFlags)
+import Distribution.PackageDescription.Parse(writeHookedBuildInfo)
 import Distribution.PackageDescription
-import System.Info
+    (HookedBuildInfo ,BuildInfo(extraLibs ,ccOptions) ,emptyBuildInfo)
+import System.Info(os)
 
-main = defaultMainWithHooks defaultUserHooks{preConf=configure}
+main = defaultMainWithHooks simpleUserHooks{ preConf=configure }
   where
-    configure :: [String] -> ConfigFlags -> IO HookedBuildInfo
+    configure:: [String]-> ConfigFlags-> IO HookedBuildInfo
     configure args flags = do
-      let binfo | os == "mingw32" = emptyBuildInfo{extraLibs=["odbc32"], ccOptions=["-Dmingw32_HOST_OS"]}
-                | otherwise       = emptyBuildInfo{extraLibs=["odbc"]}
-          hbi = (Just binfo,[])
+      let binfo | os == "mingw32" = 
+                    emptyBuildInfo{ extraLibs=["odbc32"]
+                                  , ccOptions=["-Dmingw32_HOST_OS"] }
+                | otherwise       = emptyBuildInfo{ extraLibs=["odbc"] }
+          hbi = (Just binfo ,[])
       writeHookedBuildInfo "ODBC.buildinfo" hbi
       return hbi
 \end{code}
diff --git a/hsql-odbc.cabal b/hsql-odbc.cabal
--- a/hsql-odbc.cabal
+++ b/hsql-odbc.cabal
@@ -1,12 +1,15 @@
 name:		hsql-odbc
-version:	1.7
+version:	1.7.1
 license:	BSD3
 author:		Krasimir Angelov <kr.angelov@gmail.com>
+maintainer:     nick.rudnick@googlemail.com
 category:	Database
 description:	ODBC driver for HSQL.
 exposed-modules:Database.HSQL.ODBC
-build-depends:	base, hsql
+build-depends:	base >= 4 && < 5, hsql >= 1.7, old-time >= 1.0.0.1
 extensions:     ForeignFunctionInterface, CPP
-cc-options:     -IDatabase/HSQL
+include-dirs:   Database/HSQL
 c-sources:      Database/HSQL/HsODBC.c
 extra-source-files: Database/HSQL/HsODBC.h 
+build-type: Simple
+extra-libraries: odbc
