diff --git a/src/Synthesizer/Filter/Composition.hs b/src/Synthesizer/Filter/Composition.hs
--- a/src/Synthesizer/Filter/Composition.hs
+++ b/src/Synthesizer/Filter/Composition.hs
@@ -14,8 +14,6 @@
 import qualified Algebra.Additive       as Additive
 import qualified Number.Complex         as Complex
 
-import Algebra.Additive ((+))
-
 import NumericPrelude.Base
 import NumericPrelude.Numeric
 
diff --git a/src/Synthesizer/Filter/Graph.hs b/src/Synthesizer/Filter/Graph.hs
--- a/src/Synthesizer/Filter/Graph.hs
+++ b/src/Synthesizer/Filter/Graph.hs
@@ -10,7 +10,7 @@
 import NumericPrelude.Numeric
 
 import qualified Synthesizer.Filter.Basic as FilterBasic
-import Synthesizer.Filter.Basic (Filter, apply, )
+import Synthesizer.Filter.Basic (Filter, )
 import qualified Data.Map as Map
 import Data.Map(Map)
 import MathObj.DiscreteMap()  {- Module.C instances for Map -}
@@ -20,7 +20,6 @@
 import qualified Algebra.Additive       as Additive
 import qualified Algebra.Transcendental as Trans
 import qualified Algebra.Module         as Module
-import Algebra.Module((*>))
 import Orthogonals(Scalar,inverse,add_to_diagonal)
 
 
diff --git a/src/Synthesizer/Filter/MonadFix.hs b/src/Synthesizer/Filter/MonadFix.hs
--- a/src/Synthesizer/Filter/MonadFix.hs
+++ b/src/Synthesizer/Filter/MonadFix.hs
@@ -1,7 +1,6 @@
 module Synthesizer.Filter.MonadFix where
 
 import qualified Synthesizer.Filter.Graph as Graph
-import qualified Synthesizer.Filter.Fix   as FFix
 
 import Synthesizer.Filter.Fix (Channel(Channel), ChannelId)
 
diff --git a/src/Synthesizer/Filter/OneWay.hs b/src/Synthesizer/Filter/OneWay.hs
--- a/src/Synthesizer/Filter/OneWay.hs
+++ b/src/Synthesizer/Filter/OneWay.hs
@@ -10,11 +10,9 @@
 import Number.Complex(cis)
 
 import qualified Algebra.Module   as Module
-import qualified Algebra.Ring     as Ring
 import qualified Algebra.Additive as Additive
 
 import Algebra.Module(linearComb)
-import Algebra.Additive(zero)
 
 import NumericPrelude.Base
 import NumericPrelude.Numeric
diff --git a/src/Synthesizer/Filter/TwoWay.hs b/src/Synthesizer/Filter/TwoWay.hs
--- a/src/Synthesizer/Filter/TwoWay.hs
+++ b/src/Synthesizer/Filter/TwoWay.hs
@@ -9,7 +9,7 @@
 import qualified Synthesizer.Plain.Interpolation as Ip
 import qualified Synthesizer.Plain.Interpolation as Interpolation
 
-import Algebra.Module(linearComb,(*>))
+import Algebra.Module(linearComb)
 
 import qualified Algebra.Module    as Module
 import qualified Algebra.RealRing as RealRing
diff --git a/synthesizer-filter.cabal b/synthesizer-filter.cabal
--- a/synthesizer-filter.cabal
+++ b/synthesizer-filter.cabal
@@ -1,5 +1,5 @@
 Name:           synthesizer-filter
-Version:        0.4
+Version:        0.4.0.1
 License:        GPL
 License-File:   LICENSE
 Author:         Henning Thielemann <haskell@henning-thielemann.de>
@@ -12,12 +12,12 @@
   of representing filter networks.
   However, none of them is mature so far.
 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
 
 Source-Repository this
-  Tag:         0.4
+  Tag:         0.4.0.1
   Type:        darcs
   Location:    http://code.haskell.org/synthesizer/filter/
 
@@ -27,15 +27,20 @@
 
 Library
   Build-Depends:
-    synthesizer-core >=0.4 && <0.5,
-    transformers >=0.2 && <0.3,
-    numeric-prelude >=0.2 && <0.3,
-    numeric-quest >= 0.1 && <0.2,
+    synthesizer-core >=0.4 && <0.8,
+    transformers >=0.2 && <0.5,
+    numeric-prelude >=0.2 && <0.5,
+    numeric-quest >= 0.1 && <0.3,
     utility-ht >=0.0.5 && <0.1,
-    containers >=0.1 && <0.4,
+    containers >=0.1 && <0.6,
     base >= 3 && <5
 
   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:
     Synthesizer.Filter.Basic
