diff --git a/Text/Regex/PDeriv/Common.lhs b/Text/Regex/PDeriv/Common.lhs
--- a/Text/Regex/PDeriv/Common.lhs
+++ b/Text/Regex/PDeriv/Common.lhs
@@ -5,8 +5,10 @@
 > import qualified Data.IntMap as IM
 > import Data.List (nubBy)
 
-> type Range  = (Int,Int)      -- ^ (sub)words represent by range
-> type Letter = (Char,Int)     -- ^ a character and its index (position)
+> -- | (sub)words represent by range
+> type Range  = (Int,Int)      
+> -- | a character and its index (position)
+> type Letter = (Char,Int)     
 
 > class IsEmpty a where
 >     isEmpty :: a -> Bool
diff --git a/Text/Regex/PDeriv/Translate.lhs b/Text/Regex/PDeriv/Translate.lhs
--- a/Text/Regex/PDeriv/Translate.lhs
+++ b/Text/Regex/PDeriv/Translate.lhs
@@ -112,7 +112,7 @@
 >     { EEmpty ->
 >       do { return ( PE Empty )
 >          }
->       {-|
+>       {-
 >         e ~> p
 >         -----------------
 >         ( e ) ~>_p x :: p
@@ -123,7 +123,7 @@
 >          ; return ( PVar i [] p)
 >          }
 >     ; EOr es -> 
->         {-|
+>         {-
 >           e1 ~> p1  e2 ~> p2
 >           -------------------
 >             e1|e2 ~>_p p1|p2
@@ -136,7 +136,7 @@
 >            }
 >          }
 >     ; EConcat es ->
->         {-| 
+>         {- 
 >            e1 ~> p1  e2 ~> p2
 >            ---------------------
 >              (e1,e2) ~>_p (p1,p2)
@@ -149,7 +149,7 @@
 >              }
 >            }
 >     ; EOpt e b ->
->       {-| 
+>       {- 
 >          todo : not sure whether this makes sense
 >            e ~> p
 >          -------------------
@@ -161,7 +161,7 @@
 >          ; return (PChoice p (PE Empty) g)
 >          }
 >     ; EPlus e b ->
->       {-| 
+>       {- 
 >            e ~> p
 >          -------------------
 >            p+ ~>_p (p,p*)
@@ -172,7 +172,7 @@
 >          ; return (PPair p (PStar p g))
 >          }
 >     ; EStar e b -> 
->       {-| 
+>       {- 
 >            e ~> p
 >          -------------------
 >            e*~>_p p*
@@ -183,7 +183,7 @@
 >          ; return (PStar p g)
 >          }
 >     ; EBound e low (Just high) b ->
->         {-| we could have relax this rule to e ~> p
+>         {- we could have relax this rule to e ~> p
 >             e ~>_r r  
 >             r1 = take l (repeat r)
 >             r2 = take (h-l) (repeat r?)
@@ -214,7 +214,7 @@
 >          ; return p
 >          }
 >     ; EBound e low Nothing b ->
->         {-|
+>         {-
 >             e ~>_r r  
 >             r1 = take l (repeat r)
 >             r' = (r1,r*)
@@ -265,7 +265,7 @@
 >          ; return p
 >          }
 >     ; EDot -> 
->         -- |  . ~> a :: \Sigma 
+>         --  . ~> a :: \Sigma 
 >         -- we might not need this rule
 >       do { i <- getIncNGI
 >          ; let r = anychar
@@ -273,7 +273,7 @@
 >          ; return p
 >         }
 >     ; EAny cs ->
->         -- | [ abc ] ~> a :: 'a'|'b'|'c' 
+>         -- [ abc ] ~> a :: 'a'|'b'|'c' 
 >         -- we might not need this rule
 >       do { i <- getIncNGI
 >          ; let -- r = char_list_to_re cs
@@ -282,7 +282,7 @@
 >          ; return p
 >          }
 >     ; ENoneOf cs ->
->         -- | [^ abc] ~> a :: \Sigma - 'a'|'b'|'c' 
+>         -- [^ abc] ~> a :: \Sigma - 'a'|'b'|'c' 
 >         -- we might not need this rule
 >       do { i <- getIncNGI
 >          ; let -- r = char_list_to_re (filter (\c -> not (c `elem` cs )) sigma)
@@ -291,14 +291,14 @@
 >          ; return p
 >          }
 >     ; EEscape c ->
->         -- | \\c ~> a :: L c 
+>         -- \\c ~> a :: L c 
 >         -- we might not need this rule
 >       do { i <- getIncNGI 
 >          ; let p = PVar i [] (PE (L c))
 >          ; return p 
 >          }
 >     ; EChar c ->
->         -- | c ~> a :: L c
+>         -- c ~> a :: L c
 >         -- we might not need this rule
 >       do { i <- getIncNGI
 >          ; let p = PVar i [] (PE (L c))
@@ -326,19 +326,19 @@
 > r_trans e = 
 >     case e of 
 >     { EEmpty -> 
->       {-|
+>       {-
 >         () ~>_r ()
 >        -}
 >       return Empty
 >     ; EGroup e ->
->       {-| we might not need this rule
+>       {- we might not need this rule
 >          e ~> r
 >         ----------
 >         (e) ~> r
 >        -}
 >       r_trans e
 >     ; EOr es ->
->       {-|
+>       {-
 >         e1 ~>_r r1 e2 ~>_r r2
 >       -------------------
 >         e1|e2 ~>_r r1|r2
@@ -350,7 +350,7 @@
 >            }
 >          }
 >     ; EConcat es ->
->       {-|
+>       {-
 >         e1 ~>_r r1  e2 ~>_r r2
 >        ----------------------
 >         (e1,e2) ~>_r (r1,r2)
@@ -362,7 +362,7 @@
 >            }
 >          }
 >     ; EOpt e b -> 
->       {-|
+>       {-
 >           e ~>_r r
 >         -----------
 >           e? ~>_r r?
@@ -373,7 +373,7 @@
 >          ; return (Choice r Empty g)
 >          }
 >     ; EPlus e b -> 
->       {-|
+>       {-
 >         e ~>_r r
 >         ---------------
 >           e+ ~>_r (r,r*)
@@ -384,7 +384,7 @@
 >          ; return (Seq r (Star r g))
 >          }
 >     ; EStar e b -> 
->       {-|
+>       {-
 >         e ~>_r r
 >         ----------------
 >           e* ~>_r r*
@@ -395,7 +395,7 @@
 >          ; return (Star r g)
 >          }
 >     ; EBound e low (Just high) b ->
->       {-|
+>       {-
 >         e ~>_r r
 >         r1 = take l (repeat r)
 >         r2 = take (h-l) (repeat r?)
@@ -424,7 +424,7 @@
 >          ; return r3
 >          }
 >     ; EBound e low Nothing b -> 
->         {-|
+>         {-
 >             e ~>_r r  
 >             r1 = take l (repeat r)
 >             r' = (r1,r*)
@@ -463,21 +463,21 @@
 >          ; return Empty
 >          }
 >     ; EDot -> 
->         -- | . ~>_r \Sigma
+>         --  . ~>_r \Sigma
 >         -- return anychar
 >         return Any
 >     ; EAny cs ->
->         -- | [ abc ] ~>_r 'a'|'b'|'c'
+>         --  [ abc ] ~>_r 'a'|'b'|'c'
 >         return (char_list_to_re cs)
 >     ; ENoneOf cs ->
->         -- | [^ abc] ~>_r \Sigma - 'a'|'b'|'c'
+>         --  [^ abc] ~>_r \Sigma - 'a'|'b'|'c'
 >         -- return $ char_list_to_re (filter (\c -> not (c `elem` cs )) sigma)
 >         return (Not cs)
 >     ; EEscape c ->
->         -- | \\c ~>_r c
+>         --  \\c ~>_r c
 >         return $ L c
 >     ; EChar c ->
->         -- | c ~>_r c
+>         --  c ~>_r c
 >         return $ L c
 >     }
 >           
diff --git a/regex-pderiv.cabal b/regex-pderiv.cabal
--- a/regex-pderiv.cabal
+++ b/regex-pderiv.cabal
@@ -1,5 +1,5 @@
 Name:                   regex-pderiv
-Version:                0.0.6
+Version:                0.0.7
 License:                BSD3
 License-File:           LICENSE
 Copyright:              Copyright (c) 2009, Kenny Zhuo Ming Lu and Martin Sulzmann
