diff --git a/Calculator/CalcParseLib.hs b/Calculator/CalcParseLib.hs
--- a/Calculator/CalcParseLib.hs
+++ b/Calculator/CalcParseLib.hs
@@ -125,9 +125,11 @@
 
 instance Monad (SParse a) where
   return x = SParse (succeed x)
-  fail s   = SParse none
   (SParse pr) >>= f 
     = SParse (\st -> concat [ sparse (f x) rest | (x,rest) <- pr st ])
+
+instance MonadFail (SParse a) where
+  fail s   = SParse none
 
 instance Applicative (SParse a) where
   pure = return
diff --git a/Craft3e.cabal b/Craft3e.cabal
--- a/Craft3e.cabal
+++ b/Craft3e.cabal
@@ -1,6 +1,6 @@
 
 name: Craft3e
-version: 0.1.1.1
+version: 0.2.0.0
 license: MIT
 license-file: LICENSE
 copyright: (c) Addison Wesley
@@ -11,7 +11,7 @@
 homepage: http://www.haskellcraft.com/
 synopsis: Code for Haskell: the Craft of Functional Programming, 3rd ed.
 category: Education
-cabal-version: >= 1.6
+cabal-version: >= 1.10
 build-type: Simple
 description:
   .
@@ -35,8 +35,9 @@
   refresh.html
 
 library
+  default-language: Haskell2010
   build-depends:
-    base >= 4 && < 5,
+    base >= 4.9.0.0 && < 5,
     QuickCheck >= 2.1 && < 3,
     old-locale == 1.0.*,
     time >= 1.1 && < 2.0,
@@ -120,12 +121,25 @@
 executable performanceI
   main-is:     PerformanceI.hs
   hs-source-dirs: ./Chapter20
+  default-language: Haskell2010
+  build-depends:
+    base >= 4 && < 5,
+    Craft3e
 
+
 executable performanceIA
   main-is:     PerformanceIA.hs
   hs-source-dirs: ./Chapter20
+  default-language: Haskell2010
+  build-depends:
+    base >= 4 && < 5,
+    Craft3e
 
 executable performanceIS
   main-is:     PerformanceIS.hs
   hs-source-dirs: ./Chapter20
+  default-language: Haskell2010
+  build-depends:
+    base >= 4 && < 5,
+    Craft3e
 
diff --git a/svgOut.xml b/svgOut.xml
--- a/svgOut.xml
+++ b/svgOut.xml
@@ -7,11 +7,11 @@
 
   <image x="0" y="0" width="150" height="200" xlink:href="blk_horse_head.jpg"/>
 
-  <image x="150" y="0" width="150" height="200" xlink:href="blk_horse_head.jpg" transform="translate(450,0) scale(-1,1)" />
+  <image x="150" y="0" width="150" height="200" xlink:href="blk_horse_head.jpg" transform="translate(450,0) scale(-1,1)"  filter="url(#negative)"/>
 
-  <image x="0" y="200" width="150" height="200" xlink:href="blk_horse_head.jpg" transform="translate(150,0) scale(-1,1)" />
+  <image x="0" y="200" width="150" height="200" xlink:href="blk_horse_head.jpg" filter="url(#negative)"/>
 
-  <image x="150" y="200" width="150" height="200" xlink:href="blk_horse_head.jpg"/>
+  <image x="150" y="200" width="150" height="200" xlink:href="blk_horse_head.jpg" transform="translate(450,0) scale(-1,1)" />
 
 </svg>
 
