diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,6 +1,7 @@
 -*-change-log-*-
 
 v0.2.4.0 TDB
+ * Minimum base is now 4.8
 
 v0.2.3.1 December 2016
  * Merge fix for storable instance
diff --git a/friday.cabal b/friday.cabal
--- a/friday.cabal
+++ b/friday.cabal
@@ -2,7 +2,7 @@
 --                      +-+------- breaking API changes
 --                      | | +----- non-breaking API additions
 --                      | | | +--- code changes with no API change
-version:                0.2.3.1
+version:                0.2.3.2
 synopsis:               A functional image processing library for Haskell.
 homepage:               https://github.com/RaphaelJ/friday
 license:                LGPL-3
@@ -78,14 +78,14 @@
     hs-source-dirs:     src/
     default-language:   Haskell2010
 
-    build-depends:      base                    >= 4            && < 5
-                      , containers              >= 0.4          && < 0.6
+    build-depends:      base                    >= 4.8          && < 5
+                      , containers              >= 0.4          && < 0.7.0.0
                       , convertible             >= 1            && < 2
                       , deepseq                 >= 1.3          && < 2
-                      , primitive               >= 0.5.2.1      && < 0.7
+                      , primitive               >= 0.5.2.1      && < 0.9
                       , ratio-int               >= 0.1.2        && < 0.2
                       , vector                  >= 0.10.0.1     && < 1
-                      , transformers            >= 0.3          && < 0.6
+                      , transformers            >= 0.3          && < 0.7
 
 Test-Suite      test
     type:       exitcode-stdio-1.0
diff --git a/src/Vision/Image/Filter/Internal.hs b/src/Vision/Image/Filter/Internal.hs
--- a/src/Vision/Image/Filter/Internal.hs
+++ b/src/Vision/Image/Filter/Internal.hs
@@ -729,7 +729,7 @@
 
     !vec1' = let pows = [ 2^i | i <- [0..radius'] ]
              in V.fromList $ pows ++ (tail (reverse pows))
-    !vec2' = V.fromList $ map negate [1..radius'] ++ [0] ++ [1..radius']
+    !vec2' = V.fromList $ map negate [1..radius'] ++ [0] ++ reverse [1..radius']
 {-# INLINE sobel #-}
 
 -- Others ----------------------------------------------------------------------
diff --git a/src/Vision/Image/Type.hs b/src/Vision/Image/Type.hs
--- a/src/Vision/Image/Type.hs
+++ b/src/Vision/Image/Type.hs
@@ -54,7 +54,7 @@
     shape = manifestSize
     {-# INLINE shape #-}
 
-    Manifest _ vec `maskedLinearIndex` ix = Just $! vec V.! ix
+    Manifest _ vec `maskedLinearIndex` ix = vec V.!? ix
     {-# INLINE maskedLinearIndex #-}
 
     values = manifestVector
@@ -234,10 +234,10 @@
     safeConvert = Right . map convert
     {-# INLINE safeConvert #-}
 
--- | Forces an image to be in its delayed represenation. Does nothing.
+-- | Forces an image to be in its delayed representation. Does nothing.
 delayed :: Delayed p -> Delayed p
 delayed = id
 
--- | Forces an image to be in its manifest represenation. Does nothing.
+-- | Forces an image to be in its manifest representation. Does nothing.
 manifest :: Manifest p -> Manifest p
 manifest = id
