diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,6 @@
 0.1: 18 Dec 2011
    * First public release. 
-
- 
+0.1.1: 12 Feb 2012
+   * variable width stroke support
+0.1.1.1: 3 Sep 2012
+   * fix duplicated (<>) problem with Data.Monoid in base>4.5
diff --git a/src/Text/Xournal/Builder.hs b/src/Text/Xournal/Builder.hs
--- a/src/Text/Xournal/Builder.hs
+++ b/src/Text/Xournal/Builder.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE CPP, OverloadedStrings #-}
 
 -----------------------------------------------------------------------------
 -- |
@@ -14,35 +14,44 @@
 
 module Text.Xournal.Builder where
 
-import Data.Xournal.Simple
+-- from other packages 
 import qualified Data.ByteString as S
 import qualified Data.ByteString.Lazy as L
 import Blaze.ByteString.Builder
 import Blaze.ByteString.Builder.Char8 (fromChar, fromString)
 import Data.Double.Conversion.ByteString 
-import Data.Monoid
+#if MIN_VERSION_base(4,5,0) 
+import Data.Monoid hiding ((<>)) 
+#else
+import Data.Monoid 
+#endif 
 import Data.Strict.Tuple
+-- from this package 
+import Data.Xournal.Simple
 
 infixl 4 <>
 
+-- | 
 (<>) :: Monoid a => a -> a -> a 
 (<>) = mappend 
 
-
+-- | 
 builder :: Xournal -> L.ByteString
 builder = toLazyByteString . fromXournal
 
+-- |
 fromXournal :: Xournal -> Builder 
 fromXournal xoj = fromByteString "<?xml version=\"1.0\" standalone=\"no\"?>\n<xournal version=\"0.4.2.1\">\n"
                   <> fromTitle (xoj_title xoj) <> mconcat (map fromPage (xoj_pages xoj))
                   <> fromByteString "</xournal>\n"
   
+-- |                  
 fromTitle :: S.ByteString -> Builder
 fromTitle title = fromByteString "<title>"
                   <> fromByteString title
                   <> fromByteString "</title>\n"
 
-  
+-- | 
 fromPage :: Page -> Builder 
 fromPage page = fromByteString "<page width=\""
                 <> fromByteString (toFixed 2 w)
@@ -54,6 +63,7 @@
                 <> fromByteString "</page>\n"
   where Dim w h = page_dim page
   
+-- | 
 fromBackground :: Background -> Builder 
 fromBackground bkg = 
   case bkg of  
@@ -80,12 +90,13 @@
       <> fromString (show pageno)
       <> fromByteString "\"/>\n"
       
-
+-- | 
 fromLayer :: Layer -> Builder
 fromLayer layer = fromByteString "<layer>\n"
                   <> mconcat (map fromStroke (layer_strokes layer))
                   <> fromByteString "</layer>\n"
 
+-- | 
 fromStroke :: Stroke -> Builder
 fromStroke stroke@(Stroke _ _ _ _) = 
     fromByteString "<stroke tool=\""
@@ -109,7 +120,6 @@
     <> fromByteString "\n</stroke>\n"
   
 -- | 
-
 from2DCoord :: Pair Double Double -> Builder 
 from2DCoord (x :!: y) = fromByteString (toFixed 2 x) 
                       <> fromChar ' ' 
@@ -117,13 +127,13 @@
                       <> fromChar ' ' 
                       
 -- |                       
-
 xyFrom3DCoord :: (Double,Double,Double) -> Builder 
 xyFrom3DCoord (x,y,_) =  fromByteString (toFixed 2 x) 
                          <> fromChar ' ' 
                          <> fromByteString (toFixed 2 y)
                          <> fromChar ' ' 
                          
+-- |
 zFrom3DCoord :: (Double,Double,Double) -> Builder 
 zFrom3DCoord (_,_,z) = fromByteString (toFixed 2 z) 
                        <> fromChar ' '
diff --git a/xournal-builder.cabal b/xournal-builder.cabal
--- a/xournal-builder.cabal
+++ b/xournal-builder.cabal
@@ -1,5 +1,5 @@
 Name:		xournal-builder
-Version:	0.1.1
+Version:	0.1.1.1
 Synopsis:	text builder for xournal file format 
 Description: 	This library builds text xoj format file from xournal data structure
 License: 	BSD3
@@ -16,11 +16,11 @@
 
 Library
   hs-source-dirs: src
-  ghc-options: 	-Wall -funbox-strict-fields -fno-warn-unused-do-bind
+  ghc-options: 	-Wall -funbox-strict-fields -fno-warn-unused-do-bind -fno-warn-orphans
   ghc-prof-options: -caf-all -auto-all
   Build-Depends: 
                    base == 4.*,
-                   xournal-types == 0.4.*,
+                   xournal-types >= 0.4 && < 0.4.1,
                    blaze-builder == 0.3.*, 
                    strict == 0.3.*, 
                    double-conversion == 0.2.*, 
