diff --git a/data-flags.cabal b/data-flags.cabal
--- a/data-flags.cabal
+++ b/data-flags.cabal
@@ -1,5 +1,5 @@
 Name: data-flags
-Version: 0.0.3
+Version: 0.0.3.1
 Category: Data
 Stability: experimental
 Synopsis: A package for working with bit masks and flags in general.
@@ -18,7 +18,6 @@
 
 Library
   Build-Depends: base < 5, template-haskell
-  Extensions: TemplateHaskell
   Hs-Source-Dirs: src
   GHC-Options: -Wall
   Exposed-Modules:
diff --git a/src/Data/Flags/TH.hs b/src/Data/Flags/TH.hs
--- a/src/Data/Flags/TH.hs
+++ b/src/Data/Flags/TH.hs
@@ -29,7 +29,7 @@
 --   instance of 'Data.Bits.Bits'.
 dataBitsAsFlags :: Name -> Q [Dec]
 dataBitsAsFlags typeName = do
-  noFlagsE <- [| fromInteger 0 |]
+  noFlagsE <- appE (varE 'fromInteger) (litE $ IntegerL 0)
   andFlagsE <- [| (.|.) |]
   commonFlagsE <- [| (.&.) |] 
   butFlagsE <- [| \x -> \y -> x .&. (complement y) |]
@@ -43,7 +43,7 @@
 --   instances declarations for the specified instance of 'Data.Bits.Bits'.
 dataBitsAsBoundedFlags :: Name -> Q [Dec]
 dataBitsAsBoundedFlags typeName = do
-  allFlagsE <- [| fromInteger (-1) |]
+  allFlagsE <- appE (varE 'fromInteger) (litE $ IntegerL (-1))
   enumFlagsE <- [| \x -> map (setBit 0) $
                            filter (testBit x) [0 .. bitSize x - 1] |]
   (++ [inst ''BoundedFlags typeName
