diff --git a/comfort-fftw.cabal b/comfort-fftw.cabal
--- a/comfort-fftw.cabal
+++ b/comfort-fftw.cabal
@@ -1,6 +1,6 @@
 Cabal-Version:    2.2
 Name:             comfort-fftw
-Version:          0.0
+Version:          0.0.0.1
 License:          BSD-3-Clause
 License-File:     LICENSE
 Author:           Henning Thielemann <haskell@henning-thielemann.de>
@@ -13,6 +13,28 @@
   This is a high-level interface to @libfftw@.
   We re-use the type classes from @netlib-ffi@.
   .
+  Features:
+  .
+  * Support of one (audio), two (image), three (video) dimensional data,
+    as well as n-dimensional one.
+  .
+  * Support for batched transformations e.g. for block-wise Fourier transform.
+  .
+  * No normalization like in plain @fftw@.
+    This is because I see no universally best place to apply normalization.
+  .
+  The use of @comfort-array@ enables to use array shapes tailored
+  to Fourier transforms:
+  .
+  [@Shape.Cyclic@]: for data where the @n-1@-th element
+  can also be accessed via index @-1@.
+  [@Shape.Half@]: for complex data of a real-to-complex Fourier transform.
+  It saves you from case distinction between even and odd data length
+  and according mistakes.
+  [@Shape.Symmetric@]: for real-to-real Sine and Cosine transforms.
+  They assert that you will always use
+  the appropriate kind for back transformation.
+  .
   For rather simple examples
   see the packages @align-audio@ and @morbus-meniere@.
   .
@@ -23,7 +45,7 @@
   Makefile
 
 Source-Repository this
-  Tag:         0.0
+  Tag:         0.0.0.1
   Type:        darcs
   Location:    https://hub.darcs.net/thielema/comfort-fftw/
 
diff --git a/src/Numeric/FFTW/RankN.hs b/src/Numeric/FFTW/RankN.hs
--- a/src/Numeric/FFTW/RankN.hs
+++ b/src/Numeric/FFTW/RankN.hs
@@ -54,7 +54,7 @@
 
 {- |
 >>> complexFloatList $ TrafoM.fourier TrafoM.Forward $ Array.fromList (Shape.Cyclic (5::Int), Shape.Cyclic (5::Int)) [0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0]
-[1.00:+0.00,0.31:+(-0.95),(-0.81):+(-0.59),(-0.81):+0.59,0.31:+0.95,0.31:+(-0.95),(-0.81):+(-0.59),(-0.81):+0.59,0.31:+0.95,1.00:+0.00,(-0.81):+(-0.59),(-0.81):+0.59,0.31:+0.95,1.00:+0.00,0.31:+(-0.95),(-0.81):+0.59,0.31:+0.95,1.00:+0.00,0.31:+(-0.95),(-0.81):+(-0.59),0.31:+0.95,1.00:+(-0.00),0.31:+(-0.95),(-0.81):+(-0.59),(-0.81):+0.59]
+[1.00:+0.00,0.31:+(-0.95),(-0.81):+(-0.59),(-0.81):+0.59,0.31:+0.95,0.31:+(-0.95),(-0.81):+(-0.59),(-0.81):+0.59,0.31:+0.95,1.00:+0.00,(-0.81):+(-0.59),(-0.81):+0.59,0.31:+0.95,1.00:+0.00,0.31:+(-0.95),(-0.81):+0.59,0.31:+0.95,1.00:+0.00,0.31:+(-0.95),(-0.81):+(-0.59),0.31:+0.95,1.00:+0.00,0.31:+(-0.95),(-0.81):+(-0.59),(-0.81):+0.59]
 
 prop> QC.forAll genCyclicArray1 $ \xs sign -> approxComplex floatTol (array1 $ Trafo1.fourier sign xs) (TrafoM.fourier sign $ array1 xs)
 prop> QC.forAll genCyclicArray1 $ \xs sign -> approxComplex doubleTol (array1 $ Trafo1.fourier sign xs) (TrafoM.fourier sign $ array1 xs)
diff --git a/test/Test/Numeric/FFTW/Common.hs b/test/Test/Numeric/FFTW/Common.hs
--- a/test/Test/Numeric/FFTW/Common.hs
+++ b/test/Test/Numeric/FFTW/Common.hs
@@ -151,7 +151,11 @@
 instance Show FixedComplexFloat where
    show (FixedComplexFloat (r:+i)) =
       let str :: Float -> String
-          str x = if x>=0 then printf "%.2f" x else printf "(%.2f)" x
+          str x =
+            if abs x < 0.005
+               then "0.00" --avoid "-0.00"
+               else
+                  if x>=0 then printf "%.2f" x else printf "(%.2f)" x
       in printf "%s:+%s" (str r) (str i)
 
 complexFloatList ::
diff --git a/test/Test/Numeric/FFTW/RankN.hs b/test/Test/Numeric/FFTW/RankN.hs
--- a/test/Test/Numeric/FFTW/RankN.hs
+++ b/test/Test/Numeric/FFTW/RankN.hs
@@ -69,7 +69,7 @@
  DocTest.example
 {-# LINE 56 "src/Numeric/FFTW/RankN.hs" #-}
    (complexFloatList $ TrafoM.fourier TrafoM.Forward $ Array.fromList (Shape.Cyclic (5::Int), Shape.Cyclic (5::Int)) [0,0,0,0,0, 0,1,0,0,0, 0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0])
-  [ExpectedLine [LineChunk "[1.00:+0.00,0.31:+(-0.95),(-0.81):+(-0.59),(-0.81):+0.59,0.31:+0.95,0.31:+(-0.95),(-0.81):+(-0.59),(-0.81):+0.59,0.31:+0.95,1.00:+0.00,(-0.81):+(-0.59),(-0.81):+0.59,0.31:+0.95,1.00:+0.00,0.31:+(-0.95),(-0.81):+0.59,0.31:+0.95,1.00:+0.00,0.31:+(-0.95),(-0.81):+(-0.59),0.31:+0.95,1.00:+(-0.00),0.31:+(-0.95),(-0.81):+(-0.59),(-0.81):+0.59]"]]
+  [ExpectedLine [LineChunk "[1.00:+0.00,0.31:+(-0.95),(-0.81):+(-0.59),(-0.81):+0.59,0.31:+0.95,0.31:+(-0.95),(-0.81):+(-0.59),(-0.81):+0.59,0.31:+0.95,1.00:+0.00,(-0.81):+(-0.59),(-0.81):+0.59,0.31:+0.95,1.00:+0.00,0.31:+(-0.95),(-0.81):+0.59,0.31:+0.95,1.00:+0.00,0.31:+(-0.95),(-0.81):+(-0.59),0.31:+0.95,1.00:+0.00,0.31:+(-0.95),(-0.81):+(-0.59),(-0.81):+0.59]"]]
  DocTest.printPrefix "Numeric.FFTW.RankN:80: "
 {-# LINE 80 "src/Numeric/FFTW/RankN.hs" #-}
  DocTest.property
