diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -39,5 +39,11 @@
 brainfuck fib.bf
 ```
 
+## Tests
+You can run the test suite with
+```bash
+cabal test
+```
+
 ## Documentation
 http://paraseba.github.io/haskell-brainfuck/
diff --git a/haskell-brainfuck.cabal b/haskell-brainfuck.cabal
--- a/haskell-brainfuck.cabal
+++ b/haskell-brainfuck.cabal
@@ -1,5 +1,5 @@
 name:                haskell-brainfuck
-version:             0.1.0.0
+version:             0.1.0.1
 
 synopsis: BrainFuck interpreter
 
@@ -31,10 +31,10 @@
     exposed-modules:
       HaskBF.Parser, HaskBF.Tape, HaskBF.Eval
     hs-source-dirs: src/
-    build-depends:        base >=4.7 && <4.8
-                         ,bytestring==0.10.4.0
-                         ,parsec==3.1.5
-                         ,mtl==2.1.3.1
+    build-depends:    base >=4.7 && <4.8
+                    , bytestring==0.10.4.0
+                    , parsec==3.1.5
+                    , mtl==2.1.3.1
     default-extensions: TupleSections
     default-language: Haskell2010
     ghc-options: -Wall -fwarn-tabs -fno-warn-unused-do-bind -fno-warn-deprecated-flags
@@ -52,11 +52,14 @@
   type: exitcode-stdio-1.0
   main-is: test.hs
   default-language: Haskell2010
-  hs-source-dirs: tests
+  hs-source-dirs: test
+  ghc-options: -threaded
+  default-extensions: TemplateHaskell
   build-depends:   base >=4.7 && <4.8
                  , haskell-brainfuck
                  , bytestring==0.10.4.0
                  , mtl==2.1.3.1
                  , tasty==0.8.1.3
                  , tasty-quickcheck==0.8.1
+                 , tasty-th==0.1.2
                  , QuickCheck==2.7.5
diff --git a/src/HaskBF/Parser.hs b/src/HaskBF/Parser.hs
--- a/src/HaskBF/Parser.hs
+++ b/src/HaskBF/Parser.hs
@@ -64,8 +64,12 @@
 operation = simpleOp <|> loop
 
 simpleChar :: Parser Char
-simpleChar = (char '>') <|> (char '<') <|> (char '+') <|>
-             (char '-') <|> (char '.') <|> (char ',')
+simpleChar = char '>' <|>
+             char '<' <|>
+             char '+' <|>
+             char '-' <|>
+             char '.' <|>
+             char ','
 
 simpleOp :: Parser Op
 simpleOp = fmap build simpleChar
diff --git a/test/test.hs b/test/test.hs
new file mode 100644
--- /dev/null
+++ b/test/test.hs
@@ -0,0 +1,11 @@
+import qualified Test.Parser
+import qualified Test.Tape
+import qualified Test.Eval
+import Test.Helper
+
+main = defaultMain $ testGroup "Tests" tests
+  where tests = [ Test.Parser.tests
+                , Test.Tape.tests
+                , Test.Eval.tests
+                ]
+
diff --git a/tests/test.hs b/tests/test.hs
deleted file mode 100644
--- a/tests/test.hs
+++ /dev/null
@@ -1,31 +0,0 @@
-
-{-main :: IO ()-}
-{-main = do-}
-  {-Test.Parser.tests-}
-
-import Test.Tasty
-import Test.Tasty.QuickCheck as QC
-import Test.QuickCheck (Testable)
-
-import Data.List
-import Data.Ord
-
-import qualified Test.Parser
-import qualified Test.Tape
-import qualified Test.Eval
-
-main = defaultMain tests
-
-tests :: TestTree
-tests = testGroup "Tests" [properties]
-
-properties :: TestTree
-properties = testGroup "Properties" qcProps
-
-mkGroup :: Testable prop => TestName -> [(TestName, prop)] -> TestTree
-mkGroup name tests = testGroup name $ map (uncurry QC.testProperty) tests
-
-qcProps = [mkGroup "Parser" Test.Parser.properties
-          ,mkGroup "Tape"   Test.Tape.properties
-          ,mkGroup "Eval"   Test.Eval.properties
-          ]
