diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,2 +1,5 @@
 New in version 0.0.1:
  - eta expanding definition of traverseMFor for GHC 7 compatibility
+
+New in version 0.0.1.1:
+ - documenation of the Multiplate laws
diff --git a/Data/Generics/Multiplate.hs b/Data/Generics/Multiplate.hs
--- a/Data/Generics/Multiplate.hs
+++ b/Data/Generics/Multiplate.hs
@@ -28,7 +28,11 @@
 --                 }
 -- @
 -- 
--- The names of the modules are based on Sebastian Fischer's Refactoring Uniplate: 
+-- Although this above is the original motivation behind multiplate,but you can make
+-- any structure you want into a 'Multiplate' as long as you satisfy the two multiplate laws listed
+-- below.
+-- 
+-- The names of the functions in this module are based on Sebastian Fischer's Refactoring Uniplate: 
 -- <http://www-ps.informatik.uni-kiel.de/~sebf/projects/traversal.html>
 module Data.Generics.Multiplate where
 
@@ -45,6 +49,27 @@
 -- 'Projector' is the type of the projection functions of plates. 
 type Projector p a = forall f. p f -> a -> f a
 
+-- | A 'Multiplate' is a constructor of kind @(* -> *) -> *@ operating on 'Applicative' functors
+-- having functions 'multiplate' and 'mkPlate' that satisfy the following two laws:
+-- 
+-- (1) @
+-- 'multiplate' 'purePlate' = 'purePlate'
+--   where
+--     'purePlate' = 'mkPlate' (\\_ -> 'pure')
+-- @
+-- 
+-- (2) @
+-- 'multiplate' ('composePlate' p1 p2) = 'composePlate' ('multiplate' p1) ('multiplate' p2)
+--   where
+--     'composePlate' p1 p2 = 'mkPlate' (\\proj a -> ('Compose' (proj p1 ``fmap`` proj p2 a)))
+-- @
+--
+-- Note: By parametricity, it suffices for (1) to prove 
+-- 
+-- @
+-- 'multiplate' ('mkPlate' (\\_ -> 'Identity')) = ('mkPlate' (\\_ -> 'Identity'))
+-- @
+-- 
 class Multiplate p where
   -- | This is the heart of the Multiplate library.  Given a plate of functions over some
   -- applicative functor @f@, create a new plate that applies these functions to the children
diff --git a/multiplate.cabal b/multiplate.cabal
--- a/multiplate.cabal
+++ b/multiplate.cabal
@@ -1,5 +1,5 @@
 Name:               multiplate
-Version:            0.0.1
+Version:            0.0.1.1
 Cabal-Version:      >= 1.4
 License:            MIT
 License-File:       LICENSE
