diff --git a/GenericPretty.cabal b/GenericPretty.cabal
--- a/GenericPretty.cabal
+++ b/GenericPretty.cabal
@@ -7,7 +7,7 @@
 -- The package version. See the Haskell package versioning policy
 -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for
 -- standards guiding when and how versions should be incremented.
-Version:             1.1.0
+Version:             1.1.1
 
 -- A short (one-line) description of the package.
 Synopsis:            A generic, derivable, haskell pretty printer.
@@ -52,17 +52,17 @@
   .
   0. Make sure you have a version of ghc >= 7.2 installed and that you can use the 'runhaskell' command from the command line.
   . 
-  1. Download the file "GenericPretty-1.1.0.tar.gz" from this page.
+  1. Download the file "GenericPretty-1.1.1.tar.gz" from this page.
   .
   2. Unpack the file. If using a UNIX system, run 
   .
-    tar xzf GenericPretty-1.1.0.tar.gz 
+    tar xzf GenericPretty-1.1.1.tar.gz 
   .
     If on windows use your preffered unpacking utility(for instance, 7zip : <http://www.7-zip.org/>)
   .
   3. Move to the correct directory: 
   .
-  cd GenericPretty-1.0.1
+  cd GenericPretty-1.1.1
   .
   4. Run the following haskell commands to install the library globally
   .
@@ -104,7 +104,7 @@
   by typing "deriving (Generic)" and write an instance of "Out" defining docPrec as "docPrec = genOut". 
   Then the pretty printing functions such as "pp" can be used on any data of that type.
   .
-  For more details about the above example as well as an example of custom pretty printing please
+  For more details about the above example as well as examples of customizing the pretty printing please
   check the README file included in the package. For more information about the library itself and
   what it exports check the API linked further down this page.
   
@@ -133,7 +133,7 @@
 
 -- Extra files to be distributed with the package, such as examples or
 -- a README.
-Extra-source-files: README TestSuite\SimpleTest.hs TestSuite\Tests.hs TestSuite\CustomTest.hs
+Extra-source-files: README TestSuite\SimpleTest.hs TestSuite\Tests.hs TestSuite\CustomTest.hs TestSuite\ZigZagTest.hs
 
 -- Constraint on the version of Cabal needed to build this package.
 Cabal-version:       >=1.6
diff --git a/README b/README
--- a/README
+++ b/README
@@ -8,7 +8,7 @@
 GenericPretty is a haskell library that provides support for automatic
 derivation of pretty printing functions on user defined data types.
 
-The Pretty library [1] is used underneath, the work is done over "Doc" types.
+The Pretty library [1] is used underneath, the work is over 'Pretty.Doc' types.
 
 The library "MyPretty" is also provided. This library is a thin wrapper around 
 the "Pretty" library and implements only "Style" related features. 
@@ -66,25 +66,27 @@
 $ SimpleTest
 
 Node (Node (Leaf 333333) (Leaf (-555555)))
-     (Node (Node (Node (Leaf 888888) (Leaf 57575757)) (Leaf (-14141414)))
+     (Node (Node (Node (Leaf 888888) (Leaf 57575757))
+                 (Leaf (-14141414)))
            (Leaf 7777777))
 ---------------------------
 If we replaced the main function with 'main = ppLen 30 tree1', 
 the result would instead be:
 
+-----------------------------
 Node (Node (Leaf 333333)
            (Leaf (-555555)))
      (Node (Node (Node (Leaf 888888)
                        (Leaf 57575757))
                  (Leaf (-14141414)))
            (Leaf 7777777))
-		   
+-------------------------------
 In this case the output tries to remain under 30 characters/line, if possible, 
 while always maintaining correct indentation.
 
 There also is a 'ppStyle' function which lets you further customize the output
 by giving a 'Style' which consists of the line length, the number of ribbons 
-per line and the mode to us.
+per line and the mode to use.
 
 A ribbon length is the length of non-indentation text per line.
 So if I used a line length of 80 and 2 ribbons per line than I would have a
@@ -96,17 +98,32 @@
 3. LeftMode - there is no indentation and no maximum line length
 4. OneLineMode - everything is put on one line	
 
-The most interesting one is the ZigZagMode. Using the running example and adding:
+The most interesting one is the ZigZagMode. Using the running example we write:
 
 --------------------------------------
+{-# LANGUAGE DeriveGeneric #-}
+
+import Text.PrettyPrint.GenericPretty
+import Text.PrettyPrint.MyPretty
+
+data Tree a = Leaf a | Node (Tree a) (Tree a) deriving (Generic)
+
+instance (Out a) => Out (Tree a) where
+	docPrec = genOut
+
+tree1 :: Tree Int
+tree1 = Node (Node (Leaf 333333) (Leaf (-555555)))(Node (Node(Node(Leaf 888888) 
+		(Leaf 57575757))(Leaf (-14141414)))(Leaf 7777777))
+			
 zigStyle :: Style
 zigStyle = Style {mode = ZigZagMode, lineLength = 30, ribbonsPerLine = 1.5}
 
 main = ppStyle zigStyle tree1
 --------------------------------------
-
-We get the result:
+We import "MyPretty" to gain access to the "Style" functionality.
 
+Running the program, we get:
+-------------------------------------
 Node (Node (Leaf 333333)
 
 /////
@@ -117,14 +134,17 @@
              (Leaf 57575757))
        (Leaf (-14141414)))
  (Leaf 7777777))
-
+-------------------------------------
 Notice that the "/" show us the direction in which the rows below have been moved
 (left in this case) and the number of "/"s indicate the number of characters
 that the rows were moved(in this case 5 characters to the left)
 
 ========================== Customization Example ==============================
 
-Customizing the pretty printed results is also straightforward, as in the
+While the previous approach provides us some with some options as to the format
+of the pretty printed result, sometimes you need even more control.
+
+Fully customizing the pretty printed results is straightforward, as in the
 following example called 'CustomTest.hs'
 ----------------------------
 {-# LANGUAGE DeriveGeneric #-}
@@ -135,9 +155,9 @@
 data Tree a = Leaf a | Node (Tree a) (Tree a) deriving (Generic)
 
 instance (Out a) => Out (Tree a) where
-  docPrec n (Leaf a) =  parens $ text "customLeaf" <+> docPrec n a
-  docPrec n (Node a b) = parens $ text "customNode" $$ nest 1 (docPrec n a) 
-                                                    $$ nest 1 (docPrec n b)
+  doc (Leaf a) =  parens $ text "customLeaf" <+> doc a
+  doc (Node a b) = parens $ text "customNode" $$ nest 1 (doc a) 
+                                                    $$ nest 1 (doc b)
 
 tree1 :: Tree Int
 tree1 = Node (Node (Leaf 333333) (Leaf (-555555)))(Node (Node(Node(Leaf 888888) 
@@ -145,10 +165,15 @@
 			
 main = pp tree1
 ------------------------------
-Here we import the library 'MyPretty' and use it directly to define docPrec.
-The syntax is the one used in both the Pretty[1] and the HughesPJ [5] libraries
-By running the above we get a tree with a minimum of indentation:
+Here we import the library 'MyPretty' and use it directly to define doc.
+We could have manually defined 'docPrec' or 'docList' as well if we wanted. As
+it is now they are inferred from our definition of doc.
 
+The syntax used in the definition is the one used in both the Pretty[1] and the
+Text.PrettyPrint.HughesPJ [5] libraries.(the second is better documented).
+
+By running the above we get a tree with a minimum of indentation:
+-----------------------------------
 (customNode
   (customNode
     (customLeaf 333333)
@@ -165,9 +190,9 @@
 
 ========================= Further Info ========================================
 
-The above 'Tree' examples can be found in 'TestSuite/SimpleTest.hs' 
-and 'TestSuite/CustomTest.hs'. More involved examples integrated 
-with QuickCheck can be found in 'TestSuite/Tests.hs'.
+The above 'Tree' examples can be found in 'TestSuite/SimpleTest.hs',
+'TestSuite/CustomTest.hs' and 'TestSuite.ZigZagTest.hs'. More involved examples
+integrated with QuickCheck can be found in 'TestSuite/Tests.hs'.
 
 Further information can be found in the API [6] and in the source code itself.
 
diff --git a/TestSuite/CustomTest.hs b/TestSuite/CustomTest.hs
--- a/TestSuite/CustomTest.hs
+++ b/TestSuite/CustomTest.hs
@@ -6,8 +6,9 @@
 data Tree a = Leaf a | Node (Tree a) (Tree a) deriving (Generic)
 
 instance (Out a) => Out (Tree a) where
-  docPrec n (Leaf a) =  parens $ text "customLeaf" <+> docPrec n a
-  docPrec n (Node a b) = parens $ text "customNode" $$ nest 1 (docPrec n a) $$ nest 1 (docPrec n b)
+  doc (Leaf a) =  parens $ text "customLeaf" <+> doc a
+  doc (Node a b) = parens $ text "customNode" $$ nest 1 (doc a) 
+                                              $$ nest 1 (doc b)
 
 tree1 :: Tree Int
 tree1 = Node (Node (Leaf 333333) (Leaf (-555555)))(Node (Node(Node(Leaf 888888) 
diff --git a/TestSuite/ZigZagTest.hs b/TestSuite/ZigZagTest.hs
new file mode 100644
--- /dev/null
+++ b/TestSuite/ZigZagTest.hs
@@ -0,0 +1,18 @@
+{-# LANGUAGE DeriveGeneric #-}
+
+import Text.PrettyPrint.GenericPretty
+import Text.PrettyPrint.MyPretty
+
+data Tree a = Leaf a | Node (Tree a) (Tree a) deriving (Generic)
+
+instance (Out a) => Out (Tree a) where
+	docPrec = genOut
+
+tree1 :: Tree Int
+tree1 = Node (Node (Leaf 333333) (Leaf (-555555)))(Node (Node(Node(Leaf 888888) 
+		(Leaf 57575757))(Leaf (-14141414)))(Leaf 7777777))
+			
+zigStyle :: Style
+zigStyle = Style {mode = ZigZagMode, lineLength = 30, ribbonsPerLine = 1.5}
+
+main = ppStyle zigStyle tree1
