diff --git a/haskore-synthesizer.cabal b/haskore-synthesizer.cabal
--- a/haskore-synthesizer.cabal
+++ b/haskore-synthesizer.cabal
@@ -1,15 +1,15 @@
 Name:           haskore-synthesizer
-Version:        0.0.2
+Version:        0.0.3
 License:        GPL
 License-File:   LICENSE
 Author:         Henning Thielemann <haskell@henning-thielemann.de>
 Maintainer:     Henning Thielemann <haskell@henning-thielemann.de>
 Homepage:       http://www.haskell.org/haskellwiki/Synthesizer
 Package-URL:    http://darcs.haskell.org/haskore-synthesizer/
-Category:       Sound
-Synopsis:       Audio signal processing coded in Haskell
+Category:       Sound, Music
+Synopsis:       Music rendering coded in Haskell
 Description:
-  Use native Haskell Audio Signal Processing for Music rendering with Haskore
+  Use native Haskell Audio Signal Processing for Music rendering with Haskore.
   Contains several example songs.
 Stability:      Experimental
 Tested-With:    GHC==6.4.1, GHC==6.8.2
@@ -25,18 +25,20 @@
 
 Library
   Build-Depends:
-    synthesizer >= 0.0.3 && < 0.1,
-    haskore >=0.0.5 && <0.1,
+    synthesizer >= 0.2 && < 0.3,
+    haskore >=0.1 && <0.2,
     -- midi >=0.1.1 && <0.1,
-    numeric-prelude >=0.0.3 && <0.1,
+    numeric-prelude >=0.1 && <0.2,
     -- dependency on non-negative for Haddock
     non-negative >=0.0.1 && <0.1,
     event-list >=0.0.6 && <0.1,
-    data-accessor >=0.1 && <0.2
+    data-accessor >=0.2 && <0.3,
+    utility-ht >=0.0.1 && <0.1
 
   If flag(splitBase)
     Build-Depends:
-      base >= 3, random >= 1.0 && < 1.1
+      base >= 3 && <5,
+      random >= 1.0 && < 1.1
   Else
     Build-Depends:
       base >= 1.0 && < 2
@@ -47,7 +49,7 @@
     Haskore.Interface.Signal.InstrumentMap
     Haskore.Interface.Signal.Note
     Haskore.Interface.Signal.Write
-    Haskore.Interface.Signal.Example.ChildSong6ToSignal
+    Haskore.Interface.Signal.Example.ChildSong6
     Haskore.Interface.Signal.Example.FMBassLine
     Haskore.Interface.Signal.Example.FilterSaw
     Haskore.Interface.Signal.Example.Guitar
diff --git a/src/Haskore/Interface/Signal/Example/ChildSong6.hs b/src/Haskore/Interface/Signal/Example/ChildSong6.hs
new file mode 100644
--- /dev/null
+++ b/src/Haskore/Interface/Signal/Example/ChildSong6.hs
@@ -0,0 +1,44 @@
+-- Partial Encoding of Chick Corea's ``Children's Song No. 6''
+
+module Haskore.Interface.Signal.Example.ChildSong6 where
+
+import qualified Haskore.Example.ChildSong6 as ChildSong6
+import Synthesizer.Plain.Instrument (fastBell)
+import qualified Synthesizer.Plain.Signal as Sig
+import qualified Synthesizer.Plain.File as File
+
+import qualified Haskore.Music.GeneralMIDI as Music
+import Haskore.Interface.Signal.Write(Time, Volume)
+
+import qualified Haskore.Performance.Fancy as FancyPf
+import qualified Haskore.Interface.Signal.Write as MusicSignal
+
+import System.Exit (ExitCode)
+
+
+
+-- Volume type arises from Haskore
+songToSignalMono :: Time -> Time -> Music.T -> Sig.T Volume
+songToSignalMono sampleRate dif song =
+   MusicSignal.fromRhythmicMusic
+      sampleRate
+      (MusicSignal.detuneInstrs dif
+          [(Music.AcousticGrandPiano,
+            MusicSignal.amplify (0.1::Volume) fastBell)])
+      FancyPf.map
+      (MusicSignal.contextMetro 60 Music.qn)
+      song
+
+songSignal :: Time -> Time -> Sig.T Volume
+songSignal sampleRate dif =
+   songToSignalMono sampleRate dif (Music.transpose 12 ChildSong6.song)
+
+
+stereoSignal :: Time -> Sig.T (Volume,Volume)
+stereoSignal sampleRate =
+   zip (songSignal sampleRate 1.001)
+       (songSignal sampleRate 0.999)
+
+main :: IO ExitCode
+main =
+   File.renderStereoToInt16 "ChildSong6.aiff" 22050 stereoSignal
diff --git a/src/Haskore/Interface/Signal/Example/ChildSong6ToSignal.hs b/src/Haskore/Interface/Signal/Example/ChildSong6ToSignal.hs
deleted file mode 100644
--- a/src/Haskore/Interface/Signal/Example/ChildSong6ToSignal.hs
+++ /dev/null
@@ -1,43 +0,0 @@
--- Partial Encoding of Chick Corea's ``Children's Song No. 6''
-
-module Haskore.Interface.Signal.Example.ChildSong6ToSignal where
-
-import qualified Haskore.Example.ChildSong6 as ChildSong6
-import Synthesizer.Plain.Instrument (fastBell)
-import qualified Synthesizer.Plain.Signal as Sig
-import qualified Sox.File
-
-import qualified Haskore.Music.GeneralMIDI as Music
-import Haskore.Interface.Signal.Write(Time, Volume)
-
-import qualified Haskore.Performance.Fancy as FancyPf
-import qualified Haskore.Interface.Signal.Write as MusicSignal
-
-import System.Exit (ExitCode)
-
-
-
--- Volume type arises from Haskore
-songToSignalMono :: Time -> Time -> Music.T -> Sig.T Volume
-songToSignalMono sampleRate dif song =
-   MusicSignal.fromRhythmicMusic
-      sampleRate
-      (MusicSignal.detuneInstrs dif
-          [(Music.AcousticGrandPiano,
-            MusicSignal.amplify (0.1::Volume) fastBell)])
-      FancyPf.map
-      (MusicSignal.contextMetro 60 Music.qn)
-      song
-
-songSignal :: Time -> Time -> Sig.T Volume
-songSignal sampleRate dif =
-   songToSignalMono sampleRate dif (Music.transpose 12 ChildSong6.song)
-
-
-stereoSignal :: Time -> Sig.T (Volume,Volume)
-stereoSignal sampleRate =
-   zip (songSignal sampleRate 1.001)
-       (songSignal sampleRate 0.999)
-
-main :: IO ExitCode
-main = Sox.File.renderStereo "ChildSong6" 22050 stereoSignal
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
@@ -5,7 +5,7 @@
 import qualified Synthesizer.Plain.Oscillator as Osci
 import qualified Synthesizer.Plain.Signal as Sig
 import           Synthesizer.Plain.Instrument (fmBell)
-import qualified Sox.File
+import qualified Synthesizer.Plain.File as File
 
 import qualified Haskore.Basic.Pitch as Pitch
 import qualified Haskore.Melody          as Melody
@@ -142,5 +142,5 @@
 
 main :: IO ExitCode
 main =
-   Sox.File.renderStereo "FMBassLine" 44100
+   File.renderStereoToInt16 "FMBassLine.aiff" 44100
       (\sampleRate -> take (round (16*sampleRate)) (stereoSignal sampleRate))
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
@@ -7,7 +7,7 @@
 import qualified Synthesizer.Plain.Filter.Recursive.Allpass as Allpass
 import qualified Synthesizer.Plain.Signal as Sig
 import Synthesizer.Plain.Instrument (filterSaw, )
-import qualified Sox.File
+import qualified Synthesizer.Plain.File as File
 
 import qualified Haskore.Basic.Pitch as Pitch
 import qualified Haskore.Melody          as Melody
@@ -27,7 +27,7 @@
 import System.Exit(ExitCode)
 import qualified Data.List as List
 
-import PreludeBase
+import PreludeBase hiding (take, )
 import NumericPrelude
 
 ------------ The song description -------------
@@ -113,4 +113,5 @@
        List.replicate (round (2*sampleRate)) zero)
 
 main :: IO ExitCode
-main = Sox.File.renderStereo "FilterSaw" 22050 reverbedSignal
+main =
+   File.renderStereoToInt16 "FilterSaw.aiff" 22050 reverbedSignal
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
@@ -1,9 +1,9 @@
 module Haskore.Interface.Signal.Example.Guitar where
 
 -- the song
-import Haskore.Example.Guitar(parallelSong, stringPitches)
+import Haskore.Example.Guitar (parallelSong, stringPitches, )
 -- the instrument
-import Filter.Example(guitar)
+import Synthesizer.Filter.Example (guitar, )
 
 import qualified Haskore.Basic.Pitch as Pitch
 import           Haskore.Music.Standard  as StdMusic
@@ -18,9 +18,9 @@
 import qualified Synthesizer.Plain.Signal as Sig
 import           Synthesizer.Plain.Instrument
           (fastBell, simpleSaw, moogGuitar, moogGuitarSoft, fmBell, )
-import qualified Sox.File
+import qualified Synthesizer.Plain.File as File
 
-import           Synthesizer.Utility(mapSnd)
+import           Data.Tuple.HT (mapSnd, )
 
 import qualified Data.List as List
 
@@ -80,7 +80,7 @@
 
 readSamples :: IO [Sig.T Volume]
 readSamples =
-   do sampledSounds <- mapM Sox.File.readAIFFMono
+   do sampledSounds <- mapM File.readMonoFromInt16
              (map (\chr -> "guitar/Zupf/Zupf"++chr:".aiff") ['0'..'5'])
       return (zipWith FiltNR.amplifyVector
                       [0.5,0.5,0.5,0.5,0.5,0.3::Volume]
@@ -89,6 +89,6 @@
 main :: IO ExitCode
 main =
    do
-     Sox.File.renderStereo "Guitar" 44100 . computeSignal sampleSong . sampleMap
+     File.renderStereoToInt16 "Guitar.aiff" 44100 . computeSignal sampleSong . sampleMap
         =<< readSamples
-     Sox.File.renderStereo "GuitarSynth" 44100 (computeSignal synthSong synthMap)
+     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
@@ -7,7 +7,7 @@
 import Synthesizer.Plain.Filter.Recursive (Pole(Pole))
 import Synthesizer.Plain.Control(exponential2)
 import Synthesizer.Plain.Instrument (simpleSaw)
-import qualified Sox.File
+import qualified Synthesizer.Plain.File as File
 
 import qualified Number.Ratio as Ratio
 import qualified Algebra.Transcendental      as Trans
@@ -121,4 +121,5 @@
                    (filteredSignal 0.998)
 
 main :: IO ExitCode
-main = Sox.File.writeStereo "SwanLake" defltSampleRate stereoSignal
+main =
+   File.writeStereoToInt16 "SwanLake.aiff" defltSampleRate stereoSignal
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
@@ -21,7 +21,7 @@
 import Synthesizer.Plain.Displacement (mix)
 import Synthesizer.Plain.Filter.NonRecursive (fadeInOut)
 import Synthesizer.Plain.Instrument (bell, squareBell, fatSaw, filterSweep, )
-import qualified Sox.File
+import qualified Synthesizer.Plain.File as File
 
 import System.Exit(ExitCode)
 
@@ -283,4 +283,5 @@
 
 
 main :: IO ExitCode
-main = Sox.File.writeStereo "WinterAde" defltSampleRate songSignal
+main =
+   File.writeStereoToInt16 "WinterAde.aiff" defltSampleRate songSignal
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
@@ -32,7 +32,7 @@
 
 import qualified Synthesizer.Plain.Signal as Sig
 import qualified Synthesizer.Plain.Cut as Cut
-import           Synthesizer.Utility(mapSnd)
+import           Data.Tuple.HT (mapSnd, )
 
 import qualified Algebra.Module    as Module
 import qualified Algebra.RealField as RealField
diff --git a/src/RenderSong.hs b/src/RenderSong.hs
--- a/src/RenderSong.hs
+++ b/src/RenderSong.hs
@@ -1,6 +1,6 @@
 module Main where
 
-import qualified Sox.Play
+import qualified Synthesizer.Plain.Play as Play
 import qualified Haskore.Interface.Signal.Example.WinterAde as Song
 
-main = Sox.Play.stereo 11025 Song.songSignal
+main = Play.stereoToInt16 11025 Song.songSignal
