diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,6 +1,2 @@
 import Distribution.Simple
-import System.Cmd(system)
-
-main = defaultMainWithHooks $ simpleUserHooks { runTests = runElfTests }
-
-runElfTests a b pd lb = system "runhaskell -i./src ./tests/Test.hs" >> return ()
+main = defaultMain
diff --git a/string-qq.cabal b/string-qq.cabal
--- a/string-qq.cabal
+++ b/string-qq.cabal
@@ -1,5 +1,5 @@
 Name:          string-qq
-Version:       0.0.2
+Version:       0.0.4
 License:       PublicDomain
 License-file:  LICENSE
 Category:      Data
@@ -7,13 +7,11 @@
 Copyright:     Audrey Tang
 Maintainer:    Audrey Tang <audreyt@audreyt.org>
 Stability:     unstable
-Cabal-Version: >= 1.6
-Build-Depends: base
-Build-Type:    Custom
+Cabal-Version: >= 1.8
+Build-Type:    Simple
 Synopsis:      QuasiQuoter for non-interpolated strings, texts and bytestrings.
-Description:   QuasiQuoter for non-interpolated strings, texts and bytestrings.
-Data-Files:    tests/Test.hs
-Tested-With:   GHC==6.10.1, GHC==7.0.2
+Description:   QuasiQuoter for non-interpolated strings, texts and bytestrings, useful for writing multi-line IsString literals.
+Tested-With:   GHC==6.10.1, GHC==7.0.2, GHC==8.2.2, GHC==8.6.5
 
 Source-Repository head
     type: git
@@ -24,3 +22,9 @@
     build-depends:   base > 3 && < 6, template-haskell >= 2
     hs-source-dirs:  src
     exposed-modules: Data.String.QQ
+
+test-suite string-qq-test
+    type:           exitcode-stdio-1.0
+    hs-source-dirs: tests
+    main-is:        Test.hs
+    build-depends:  base > 3 && < 6, string-qq, HUnit >=1.6 && <1.7, text >=1.2 && <1.3
