diff --git a/ChangeLog b/ChangeLog
new file mode 100644
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,19 @@
+2013-12-07  Sam Truzjan  <pxqr.sta@gmail.com>
+
+	* 0.1.1.0: Make Show instance compatible with containers package
+
+2013-10-04  Sam Truzjan  <pxqr.sta@gmail.com>
+
+	* 0.1.0.3: FIX: Add changelog to tarball.
+
+2013-10-04  Sam Truzjan  <pxqr.sta@gmail.com>
+
+	* 0.1.0.2: Move release notes to changelog file.
+
+2013-08-12  Sam Truzjan  <pxqr.sta@gmail.com>
+
+	* 0.1.0.1: Fix build failure on 32 bit arch.
+
+2013-06-08  Sam Truzjan  <pxqr.sta@gmail.com>
+
+	* 0.1.0.0: Initial version.
diff --git a/changelog b/changelog
deleted file mode 100644
--- a/changelog
+++ /dev/null
@@ -1,4 +0,0 @@
-* 0.1.0.0: Initial version.
-* 0.1.0.1: Fix build failure on 32 bit arch.
-* 0.1.0.2: Move release notes to changelog file.
-* 0.1.0.3: FIX: Add changelog to tarball.
diff --git a/intset.cabal b/intset.cabal
--- a/intset.cabal
+++ b/intset.cabal
@@ -1,5 +1,5 @@
 name:                  intset
-version:               0.1.0.3
+version:               0.1.1.0
 category:              Data
 license:               BSD3
 license-file:          LICENSE
@@ -9,7 +9,7 @@
 homepage:              https://github.com/pxqr/intset
 bug-reports:           https://github.com/pxqr/intset/issues
 build-type:            Simple
-cabal-version:         >=1.8
+cabal-version:         >= 1.8
 synopsis:              Pure, mergeable, succinct Int sets.
 description:
 
@@ -21,7 +21,7 @@
 
 
 extra-source-files:    README.md
-                       changelog
+                       ChangeLog
                        .travis.yml
 
 source-repository head
@@ -32,7 +32,7 @@
   type:                git
   location:            git://github.com/pxqr/intset.git
   branch:              master
-  tag:                 v0.1.0.3
+  tag:                 v0.1.1.0
 
 
 flag testing
diff --git a/src/Data/IntervalSet/ByteString.hs b/src/Data/IntervalSet/ByteString.hs
--- a/src/Data/IntervalSet/ByteString.hs
+++ b/src/Data/IntervalSet/ByteString.hs
@@ -22,6 +22,7 @@
 import           Data.ByteString (ByteString)
 import qualified Data.ByteString as BS
 import qualified Data.ByteString.Internal as BS
+import Control.Monad as CM
 import Foreign
 
 import Data.IntervalSet.Internal as S
@@ -161,12 +162,12 @@
     byteSize x = (x `div` 8)  + if (x `mod` 8)  == 0 then 0 else 1
 
     indent :: Ptr Word8 -> Int -> Int -> IO ()
-    indent ptr n p = void $ BS.memset (ptr `plusPtr`  shiftR n 3) 0
+    indent ptr n p = CM.void $ BS.memset (ptr `plusPtr`  shiftR n 3) 0
                                       (fromIntegral  (shiftR (p - n) 3))
     {-# INLINE indent #-}
 
     start :: Ptr Word8 -> IntSet -> IO ()
-    start ptr s = void $ write s 0
+    start ptr s = CM.void $ write s 0
       where
         write :: IntSet -> Int -> IO Int
         write s' !n = case s' of
diff --git a/src/Data/IntervalSet/Internal.hs b/src/Data/IntervalSet/Internal.hs
--- a/src/Data/IntervalSet/Internal.hs
+++ b/src/Data/IntervalSet/Internal.hs
@@ -125,7 +125,6 @@
 import Data.Monoid
 import Data.Ord
 import Data.Word
-import Text.ParserCombinators.ReadP
 
 
 -- machine specific properties of basic types
@@ -251,18 +250,17 @@
 --------------------------------------------------------------------}
 
 instance Show IntSet where
-  showsPrec _ s = showString "{" . list (toList s) . showString "}"
+  showsPrec _ s = showString "fromList [" . list (toList s) . showString "]"
     where
       list [] = showString ""
       list [x] = shows x
       list (x : xs) = shows x . showString "," . list xs
 
 instance Read IntSet where
-  readsPrec _ = readP_to_S $ do
-    "{" <- readS_to_P lex
-    xs  <- readS_to_P reads `sepBy` (skipSpaces >> char ',')
-    "}" <- readS_to_P lex
-    return (fromList xs)
+  readsPrec p = readParen (p > 10) $ \ r -> do
+    ("fromList",s) <- lex r
+    (xs,t) <- reads s
+    return (fromList xs,t)
 
 instance Ord IntSet where
   compare = comparing toList
