diff --git a/Control/Rematch/QuickCheck.hs b/Control/Rematch/QuickCheck.hs
new file mode 100644
--- /dev/null
+++ b/Control/Rematch/QuickCheck.hs
@@ -0,0 +1,23 @@
+module Control.Rematch.QuickCheck where
+import Test.QuickCheck.Property
+import Control.Rematch
+import Control.Rematch.Run
+
+-- |Run a matcher as an QuickCheck assertion
+--
+-- Example output:
+--
+-- @
+--Expected: equalTo "a"
+--     but: was "b"
+-- @
+expectP :: a -> Matcher a -> Property
+expectP a matcher = property $ (runMatch matcher a)
+
+instance Testable Match where
+  property = property . liftMatchResult
+  exhaustive = const True
+
+liftMatchResult :: Match -> Result
+liftMatchResult MatchSuccess = succeeded
+liftMatchResult (MatchFailure mismatch) = failed { reason = mismatch }
diff --git a/rematch.cabal b/rematch.cabal
--- a/rematch.cabal
+++ b/rematch.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                rematch
-version:             0.1.2.0
+version:             0.1.2.1
 synopsis:            A simple api for matchers
 description:
     Rematch is a simple library of matchers, which express rules
@@ -26,5 +26,5 @@
 cabal-version:       >=1.8
 
 library
-  exposed-modules:     Control.Rematch, Control.Rematch.Formatting, Control.Rematch.Run
+  exposed-modules:     Control.Rematch, Control.Rematch.Formatting, Control.Rematch.Run, Control.Rematch.QuickCheck
   build-depends:       base >= 4.5.0 && < 5, HUnit >= 1.0, QuickCheck >= 2.0
