diff --git a/haskore-synthesizer.cabal b/haskore-synthesizer.cabal
--- a/haskore-synthesizer.cabal
+++ b/haskore-synthesizer.cabal
@@ -1,5 +1,5 @@
 Name:           haskore-synthesizer
-Version:        0.0.3.1
+Version:        0.0.3.2
 License:        GPL
 License-File:   LICENSE
 Author:         Henning Thielemann <haskell@henning-thielemann.de>
@@ -11,8 +11,8 @@
   Use native Haskell Audio Signal Processing for Music rendering with Haskore.
   Contains several example songs.
 Stability:      Experimental
-Tested-With:    GHC==6.8.2, GHC==6.10.4
-Cabal-Version:  >=1.6
+Tested-With:    GHC==6.8.2, GHC==6.10.4, GHC==7.8.4
+Cabal-Version:  >=1.10
 Build-Type:     Simple
 
 Flag splitBase
@@ -23,7 +23,7 @@
   default:     False
 
 Source-Repository this
-  Tag:         0.0.3.1
+  Tag:         0.0.3.2
   Type:        darcs
   Location:    http://code.haskell.org/haskore/revised/synthesizer/
 
@@ -33,25 +33,30 @@
 
 Library
   Build-Depends:
-    synthesizer-core >= 0.3.1 && < 0.4,
-    haskore >=0.1 && <0.2,
-    -- midi >=0.1.1 && <0.1,
-    numeric-prelude >=0.1 && <0.2,
+    synthesizer-filter >=0.4 && <0.5,
+    synthesizer-core >= 0.4 && < 0.8,
+    haskore >=0.1 && <0.3,
+    numeric-prelude >=0.2 && <0.5,
     -- dependency on non-negative for Haddock
-    non-negative >=0.0.1 && <0.1,
-    event-list >=0.0.6 && <0.1,
+    non-negative >=0.0.1 && <0.2,
+    event-list >=0.0.6 && <0.2,
     data-accessor >=0.2 && <0.3,
-    utility-ht >=0.0.1 && <0.1
+    utility-ht >=0.0.9 && <0.1
 
   If flag(splitBase)
     Build-Depends:
       base >= 3 && <5,
-      random >= 1.0 && < 1.1
+      random >= 1.0 && < 1.2
   Else
     Build-Depends:
       base >= 1.0 && < 2
 
   GHC-Options:    -Wall
+  If impl(ghc>=7.0)
+    GHC-Options: -fwarn-unused-do-bind
+    CPP-Options: -DNoImplicitPrelude=RebindableSyntax
+    Default-Language: Haskell2010
+    Default-Extensions: CPP
   Hs-source-dirs: src
   Exposed-modules:
     Haskore.Interface.Signal.InstrumentMap
@@ -67,5 +72,11 @@
 Executable rendersong
   If !flag(buildExamples)
     Buildable: False
-  Hs-Source-Dirs: src
-  Main-Is: RenderSong.hs
+  Build-Depends:
+    haskore-synthesizer,
+    synthesizer-core,
+    utility-ht,
+    base
+  Main-Is: src/RenderSong.hs
+  GHC-Options:    -Wall
+  Default-Language: Haskell2010
diff --git a/src/Haskore/Interface/Signal/Example/FMBassLine.hs b/src/Haskore/Interface/Signal/Example/FMBassLine.hs
--- a/src/Haskore/Interface/Signal/Example/FMBassLine.hs
+++ b/src/Haskore/Interface/Signal/Example/FMBassLine.hs
@@ -19,15 +19,15 @@
 
 import qualified Number.NonNegative as NonNeg
 
-import System.Random
+import System.Random (randomRs, mkStdGen, )
 import qualified Algebra.Transcendental as Trans
 import qualified Algebra.Module         as Module
-import qualified Algebra.RealField      as RealField
+import qualified Algebra.RealRing       as RealRing
 
 import System.Exit(ExitCode)
 
-import PreludeBase
-import NumericPrelude
+import NumericPrelude.Base
+import NumericPrelude.Numeric
 
 ------------ The song description -------------
 
@@ -119,7 +119,7 @@
                 FiltNR.amplifyVector (dyn * vel*0.4)
                     (saw sampleRate vib 10 (freq p)))
 
-saw :: (Module.C a a, Trans.C a, RealField.C a) =>
+saw :: (Module.C a a, Trans.C a, RealRing.C a) =>
              a -> a -> a -> a -> Sig.T a
 saw sampleRate modDepth modFreq freq =
    Osci.freqModSaw 0
diff --git a/src/Haskore/Interface/Signal/Example/FilterSaw.hs b/src/Haskore/Interface/Signal/Example/FilterSaw.hs
--- a/src/Haskore/Interface/Signal/Example/FilterSaw.hs
+++ b/src/Haskore/Interface/Signal/Example/FilterSaw.hs
@@ -27,8 +27,8 @@
 import System.Exit(ExitCode)
 import qualified Data.List as List
 
-import PreludeBase hiding (take, )
-import NumericPrelude
+import NumericPrelude.Base hiding (take, )
+import NumericPrelude.Numeric
 
 ------------ The song description -------------
 
diff --git a/src/Haskore/Interface/Signal/Example/Guitar.hs b/src/Haskore/Interface/Signal/Example/Guitar.hs
--- a/src/Haskore/Interface/Signal/Example/Guitar.hs
+++ b/src/Haskore/Interface/Signal/Example/Guitar.hs
@@ -20,10 +20,9 @@
           (fastBell, simpleSaw, moogGuitar, moogGuitarSoft, fmBell, )
 import qualified Synthesizer.Plain.File as File
 
+import           Control.Monad.HT (void, )
 import           Data.Tuple.HT (mapSnd, )
 
-import qualified Data.List as List
-
 import System.Exit(ExitCode)
 
 
@@ -89,6 +88,7 @@
 main :: IO ExitCode
 main =
    do
-     File.renderStereoToInt16 "Guitar.aiff" 44100 . computeSignal sampleSong . sampleMap
+     void $
+      File.renderStereoToInt16 "Guitar.aiff" 44100 . computeSignal sampleSong . sampleMap
         =<< readSamples
      File.renderStereoToInt16 "GuitarSynth.aiff" 44100 (computeSignal synthSong synthMap)
diff --git a/src/Haskore/Interface/Signal/Example/SwanLake.hs b/src/Haskore/Interface/Signal/Example/SwanLake.hs
--- a/src/Haskore/Interface/Signal/Example/SwanLake.hs
+++ b/src/Haskore/Interface/Signal/Example/SwanLake.hs
@@ -11,7 +11,6 @@
 
 import qualified Number.Ratio as Ratio
 import qualified Algebra.Transcendental      as Trans
-import qualified Algebra.Field               as Field
 import qualified Algebra.Ring                as Ring
 
 -- import qualified Haskore.Music as Music
@@ -25,8 +24,8 @@
 
 import System.Exit(ExitCode)
 
-import PreludeBase
-import NumericPrelude
+import NumericPrelude.Base
+import NumericPrelude.Numeric
 
 
 ------------ The song description -------------
diff --git a/src/Haskore/Interface/Signal/Example/WinterAde.hs b/src/Haskore/Interface/Signal/Example/WinterAde.hs
--- a/src/Haskore/Interface/Signal/Example/WinterAde.hs
+++ b/src/Haskore/Interface/Signal/Example/WinterAde.hs
@@ -25,8 +25,8 @@
 
 import System.Exit(ExitCode)
 
-import PreludeBase
-import NumericPrelude
+import NumericPrelude.Base
+import NumericPrelude.Numeric
 
 -- import qualified Prelude as P
 
diff --git a/src/Haskore/Interface/Signal/Note.hs b/src/Haskore/Interface/Signal/Note.hs
--- a/src/Haskore/Interface/Signal/Note.hs
+++ b/src/Haskore/Interface/Signal/Note.hs
@@ -11,11 +11,9 @@
 -- import qualified Algebra.Transcendental as Trans
 import qualified Algebra.Module         as Module
 import qualified Algebra.RealField      as RealField
-import qualified Algebra.Additive       as Additive
-import Algebra.Module((*>))
 
--- import PreludeBase
-import NumericPrelude as NP
+-- import NumericPrelude.Base
+import NumericPrelude.Numeric as NP
 
 import qualified Prelude as P
 
diff --git a/src/Haskore/Interface/Signal/Write.hs b/src/Haskore/Interface/Signal/Write.hs
--- a/src/Haskore/Interface/Signal/Write.hs
+++ b/src/Haskore/Interface/Signal/Write.hs
@@ -38,10 +38,9 @@
 import qualified Algebra.RealField as RealField
 import qualified Algebra.Ring      as Ring
 import qualified Algebra.Additive  as Additive
-import Algebra.Module((*>))
 
-import PreludeBase
-import NumericPrelude
+import NumericPrelude.Base
+import NumericPrelude.Numeric
 
 import Prelude (RealFrac, Fractional, Floating, )
 
diff --git a/src/RenderSong.hs b/src/RenderSong.hs
--- a/src/RenderSong.hs
+++ b/src/RenderSong.hs
@@ -3,4 +3,8 @@
 import qualified Synthesizer.Plain.Play as Play
 import qualified Haskore.Interface.Signal.Example.WinterAde as Song
 
-main = Play.stereoToInt16 11025 Song.songSignal
+import Control.Monad.HT (void)
+
+
+main :: IO ()
+main = void $ Play.stereoToInt16 11025 Song.songSignal
