diff --git a/Data/List/Zipper.hs b/Data/List/Zipper.hs
--- a/Data/List/Zipper.hs
+++ b/Data/List/Zipper.hs
@@ -1,6 +1,14 @@
 module Data.List.Zipper where
 
-data Zipper a = Zip ![a] ![a]
+import Control.Monad (liftM2)
+import Test.QuickCheck (Arbitrary(..))
+
+
+data Zipper a = Zip ![a] ![a] deriving (Eq,Show)
+
+instance Arbitrary a => Arbitrary (Zipper a) where
+  arbitrary = liftM2 Zip arbitrary arbitrary
+  coarbitrary (Zip ls rs) = coarbitrary rs . coarbitrary ls
 
 empty :: Zipper a
 empty = Zip [] []
diff --git a/ListZipper.cabal b/ListZipper.cabal
--- a/ListZipper.cabal
+++ b/ListZipper.cabal
@@ -1,5 +1,5 @@
 name:            ListZipper
-version:         1.1.0.0
+version:         1.1.1.0
 copyright:       (c) 2008 Ryan Ingram
 license:         BSD3
 license-file:    LICENSE
@@ -15,4 +15,4 @@
 
 library
   exposed-modules: Data.List.Zipper
-  build-depends:   base >= 3.0
+  build-depends:   base >= 3.0, QuickCheck
