diff --git a/massiv-io.cabal b/massiv-io.cabal
--- a/massiv-io.cabal
+++ b/massiv-io.cabal
@@ -1,9 +1,9 @@
 name:                massiv-io
-version:             0.1.0.0
+version:             0.1.1.0
 synopsis:            Import/export of Image files into massiv Arrays
 description:         This package contains functionality for import/export of arrays
                      into the real world. For now it only has the ability to read/write
-                     image files in varios formats.
+                     image files in various formats.
 homepage:            https://github.com/lehins/massiv
 license:             BSD3
 license-file:        LICENSE
@@ -33,13 +33,13 @@
                      , Data.Massiv.Array.IO.Image
                      , Data.Massiv.Array.IO.Image.JuicyPixels
                      , Data.Massiv.Array.IO.Image.Netpbm
-  build-depends:       base            >= 4.7 && < 5
+  build-depends:       base            >= 4.8 && < 5
                      , bytestring
                      , data-default
                      , deepseq
                      , directory
                      , filepath        >= 1.0
-                     , massiv
+                     , massiv          >= 0.1.1
                      , process
                      , JuicyPixels     >= 3.2.7
                      , netpbm
diff --git a/src/Data/Massiv/Array/IO/Image/JuicyPixels.hs b/src/Data/Massiv/Array/IO/Image/JuicyPixels.hs
--- a/src/Data/Massiv/Array/IO/Image/JuicyPixels.hs
+++ b/src/Data/Massiv/Array/IO/Image/JuicyPixels.hs
@@ -312,7 +312,7 @@
 decodeGIFs f converter bs =
   either throw (fromList Seq) $ do
     jpImgs <- first (toException . DecodeError) $ JP.decodeGifImages bs
-    first toException $ mapM (convertEither f showJP converter) jpImgs
+    first toException $ P.mapM (convertEither f showJP converter) jpImgs
   -- either
   --   (throw . DecodeError)
   --   (fromList' Seq)
@@ -331,7 +331,7 @@
   either throw (fromList Seq) $ do
     jpImgsLs <- first (toException . DecodeError) $ JP.decodeGifImages bs
     delays <- first (toException . DecodeError) $ JP.getDelaysGifImages bs
-    imgs <- first toException $ mapM (convertEither f showJP converter) jpImgsLs
+    imgs <- first toException $ P.mapM (convertEither f showJP converter) jpImgsLs
     return $ P.zip delays imgs
 {-# INLINE decodeGIFsWithDelays #-}
 
diff --git a/src/Graphics/ColorSpace/CMYK.hs b/src/Graphics/ColorSpace/CMYK.hs
--- a/src/Graphics/ColorSpace/CMYK.hs
+++ b/src/Graphics/ColorSpace/CMYK.hs
@@ -41,7 +41,7 @@
   show (PixelCMYK c m y k) = "<CMYK:("++show c++"|"++show m++"|"++show y++"|"++show k++")>"
 
 
-data instance Pixel CMYK e = PixelCMYK !e !e !e !e deriving Eq
+data instance Pixel CMYK e = PixelCMYK !e !e !e !e deriving (Eq, Ord)
 
 instance Elevator e => ColorSpace CMYK e where
   type Components CMYK e = (e, e, e, e)
@@ -129,7 +129,7 @@
            deriving (Eq, Enum, Show, Bounded, Typeable)
 
 
-data instance Pixel CMYKA e = PixelCMYKA !e !e !e !e !e deriving Eq
+data instance Pixel CMYKA e = PixelCMYKA !e !e !e !e !e deriving (Eq, Ord)
 
 
 instance Show e => Show (Pixel CMYKA e) where
diff --git a/src/Graphics/ColorSpace/HSI.hs b/src/Graphics/ColorSpace/HSI.hs
--- a/src/Graphics/ColorSpace/HSI.hs
+++ b/src/Graphics/ColorSpace/HSI.hs
@@ -35,7 +35,7 @@
          | IntHSI -- ^ Intensity
          deriving (Eq, Enum, Show, Bounded, Typeable)
 
-data instance Pixel HSI e = PixelHSI !e !e !e deriving Eq
+data instance Pixel HSI e = PixelHSI !e !e !e deriving (Eq, Ord)
 
 
 instance Show e => Show (Pixel HSI e) where
@@ -121,7 +121,7 @@
           deriving (Eq, Enum, Show, Bounded, Typeable)
 
 
-data instance Pixel HSIA e = PixelHSIA !e !e !e !e deriving Eq
+data instance Pixel HSIA e = PixelHSIA !e !e !e !e deriving (Eq, Ord)
 
 
 instance Show e => Show (Pixel HSIA e) where
diff --git a/src/Graphics/ColorSpace/RGB.hs b/src/Graphics/ColorSpace/RGB.hs
--- a/src/Graphics/ColorSpace/RGB.hs
+++ b/src/Graphics/ColorSpace/RGB.hs
@@ -35,7 +35,7 @@
          | BlueRGB deriving (Eq, Enum, Show, Bounded, Typeable)
 
 
-data instance Pixel RGB e = PixelRGB !e !e !e deriving Eq
+data instance Pixel RGB e = PixelRGB !e !e !e deriving (Eq, Ord)
 
 instance Show e => Show (Pixel RGB e) where
   show (PixelRGB r g b) = "<RGB:("++show r++"|"++show g++"|"++show b++")>"
@@ -115,7 +115,7 @@
           | BlueRGBA
           | AlphaRGBA deriving (Eq, Enum, Show, Bounded, Typeable)
 
-data instance Pixel RGBA e = PixelRGBA !e !e !e !e deriving Eq
+data instance Pixel RGBA e = PixelRGBA !e !e !e !e deriving (Eq, Ord)
 
 
 instance Show e => Show (Pixel RGBA e) where
diff --git a/src/Graphics/ColorSpace/Y.hs b/src/Graphics/ColorSpace/Y.hs
--- a/src/Graphics/ColorSpace/Y.hs
+++ b/src/Graphics/ColorSpace/Y.hs
@@ -115,7 +115,7 @@
         | AlphaYA -- ^ Alpha channel
         deriving (Eq, Enum, Show, Bounded, Typeable)
 
-data instance Pixel YA e = PixelYA !e !e deriving Eq
+data instance Pixel YA e = PixelYA !e !e deriving (Eq, Ord)
 
 
 instance Show e => Show (Pixel YA e) where
diff --git a/src/Graphics/ColorSpace/YCbCr.hs b/src/Graphics/ColorSpace/YCbCr.hs
--- a/src/Graphics/ColorSpace/YCbCr.hs
+++ b/src/Graphics/ColorSpace/YCbCr.hs
@@ -36,7 +36,7 @@
            | CRedYCbCr  -- ^ Red difference chroma component
            deriving (Eq, Enum, Show, Bounded, Typeable)
 
-data instance Pixel YCbCr e = PixelYCbCr !e !e !e deriving Eq
+data instance Pixel YCbCr e = PixelYCbCr !e !e !e deriving (Eq, Ord)
 
 
 instance Show e => Show (Pixel YCbCr e) where
@@ -123,7 +123,7 @@
             | AlphaYCbCrA -- ^ Alpha component.
             deriving (Eq, Enum, Show, Bounded, Typeable)
 
-data instance Pixel YCbCrA e = PixelYCbCrA !e !e !e !e deriving Eq
+data instance Pixel YCbCrA e = PixelYCbCrA !e !e !e !e deriving (Eq, Ord)
 
 
 instance Show e => Show (Pixel YCbCrA e) where
