diff --git a/IHaskell/Display/Magic.hs b/IHaskell/Display/Magic.hs
--- a/IHaskell/Display/Magic.hs
+++ b/IHaskell/Display/Magic.hs
@@ -1,31 +1,32 @@
 {-# LANGUAGE ViewPatterns, TypeSynonymInstances, FlexibleInstances #-}
+
 module IHaskell.Display.Magic () where
 
-import IHaskell.Display
-import Magic
+import           IHaskell.Display
+import           Magic
 import qualified Data.ByteString as B
 import qualified Data.ByteString.Unsafe as B
 import qualified Data.ByteString.Base64 as Base64
 import qualified Data.ByteString.Char8 as Char
 import qualified Data.ByteString.UTF8 as B
 
-import Text.Read
-import Data.Char
+import           Text.Read
+import           Data.Char
 
 import qualified Data.Text as T
 import qualified Data.Text.Encoding as T
-import IHaskell.IPython.Types (MimeType(MimeSvg))
-import Data.ByteString.UTF8
+import           IHaskell.IPython.Types (MimeType(MimeSvg))
+import           Data.ByteString.UTF8
 
 instance IHaskellDisplay T.Text where
-    display = display . T.encodeUtf8
+  display = display . T.encodeUtf8
 
 instance IHaskellDisplay B.ByteString where
-    display x = do
-        m <- magicOpen []
-        magicLoadDefault m
-        f <- B.unsafeUseAsCStringLen x (magicCString m)
-        return $ Display [withClass (parseMagic f) x]
+  display x = do
+    m <- magicOpen []
+    magicLoadDefault m
+    f <- B.unsafeUseAsCStringLen x (magicCString m)
+    return $ Display [withClass (parseMagic f) x]
 
 b64 :: B.ByteString -> String
 b64 = Char.unpack . Base64.encode
@@ -34,7 +35,7 @@
 withClass SVG = DisplayData MimeSvg . T.decodeUtf8
 withClass (PNG w h) = png w h . T.decodeUtf8 . Base64.encode
 withClass JPG = jpg 400 300 . T.decodeUtf8 . Base64.encode
-withClass HTML = html . B.toString 
+withClass HTML = html . B.toString
 withClass LaTeX = latex . B.toString
 withClass _ = plain . B.toString
 
@@ -54,17 +55,20 @@
 
 -}
 parseMagic :: String -> MagicClass
-parseMagic f = case words f of
-    "SVG" : _ -> SVG
-    "PNG" : _image : _data :
-        (readMaybe -> Just w) : _x :
-        (readMaybe . takeWhile isDigit -> Just h) : _ -> PNG w h
-    "LaTeX" : _ -> LaTeX
-    "HTML" : _ -> HTML
-    "JPEG" : _ -> JPG
-    _ -> Unknown
-
+parseMagic f =
+  case words f of
+    "SVG":_                                                                                 -> SVG
+    "PNG":_image:_data:(readMaybe -> Just w):_x:(readMaybe . takeWhile isDigit -> Just h):_ -> PNG w
+                                                                                                 h
+    "LaTeX":_                                                                               -> LaTeX
+    "HTML":_                                                                                -> HTML
+    "JPEG":_                                                                                -> JPG
+    _                                                                                       -> Unknown
 
-data MagicClass =
-    SVG | PNG Int Int | JPG | HTML | LaTeX | Unknown
-    deriving Show
+data MagicClass = SVG
+                | PNG Int Int
+                | JPG
+                | HTML
+                | LaTeX
+                | Unknown
+  deriving Show
diff --git a/ihaskell-magic.cabal b/ihaskell-magic.cabal
--- a/ihaskell-magic.cabal
+++ b/ihaskell-magic.cabal
@@ -10,7 +10,7 @@
 -- PVP summary:      +-+------- breaking API changes
 --                   | | +----- non-breaking API additions
 --                   | | | +--- code changes with no API change
-version:             0.2.0.0
+version:             0.3.0.0
 
 -- A short (one-line) description of the package.
 synopsis:            IHaskell display instances for bytestrings
@@ -61,8 +61,7 @@
               OverloadedStrings
              
   -- Other library packages from which modules are imported.
-  build-depends:       base ==4.6.* || ==4.7.*,
-                       classy-prelude >=0.6,
+  build-depends:       base >=4.6 && <4.9,
                        magic >= 1.0.8,
                        text,
                        bytestring,
