diff --git a/CEP/BB/BBS/src/BBSrun.cc b/CEP/BB/BBS/src/BBSrun.cc
index 12d44ebf6831a14a9d6a1d3207448a9901d66b2a..401b8eb8313c3e649c4be71a1701d9abd7d377a8 100644
--- a/CEP/BB/BBS/src/BBSrun.cc
+++ b/CEP/BB/BBS/src/BBSrun.cc
@@ -50,7 +50,7 @@ void predict (Prediffer& prediffer, const MSDesc& msd,
   double time = msd.startTime;
   double endTime = msd.endTime;
   while (time < endTime) {
-    prediffer.setWorkDomain (startChan, endChan, time, time+timeStep);
+    prediffer.setWorkDomain (startChan, endChan, time, timeStep);
     prediffer.setStepProp (stepProp);
     prediffer.writePredictedData();
     time += timeStep;
@@ -64,7 +64,7 @@ void subtract (Prediffer& prediffer, const MSDesc& msd,
   double time = msd.startTime;
   double endTime = msd.endTime;
   while (time < endTime) {
-    prediffer.setWorkDomain (startChan, endChan, time, time+timeStep);
+    prediffer.setWorkDomain (startChan, endChan, time, timeStep);
     prediffer.setStepProp (stepProp);
     prediffer.subtractData();
     time += timeStep;
@@ -83,7 +83,7 @@ void solve (Prediffer& prediffer, const MSDesc& msd,
   SolveProp solProp(solveProp);
   while (time < endTime) {
     // Use given channels and time steps.
-    prediffer.setWorkDomain (startChan, endChan, time, time+timeStep);
+    prediffer.setWorkDomain (startChan, endChan, time, timeStep);
     prediffer.setStepProp (stepProp);
     // Form the solve domains.
     const MeqDomain& workDomain = prediffer.getWorkDomain();
diff --git a/CEP/BB/BBS/test/Makefile.am b/CEP/BB/BBS/test/Makefile.am
index 23edede6a76f21af6001d358c29f9895cfabef54..2c252142e617bf40ba0b92d3b531bfd802721348 100644
--- a/CEP/BB/BBS/test/Makefile.am
+++ b/CEP/BB/BBS/test/Makefile.am
@@ -1,6 +1,6 @@
 check_PROGRAMS = tFillRow tMeqPolc tMeqPolcLog tMeqTabular tMeqParm \
 tParmMerge tPredSolv tPredict tSubtract tCorrect tPerturbed tMSData \
-tShift
+tShift tDFT
 
 tMeqPolc_SOURCES = tMeqPolc.cc
 tMeqPolc_DEPENDENCIES = ../src/libbbs.la $(LOFAR_DEPEND)
@@ -41,6 +41,9 @@ tMSData_DEPENDENCIES = ../src/libbbs.la $(LOFAR_DEPEND)
 tShift_SOURCES = tShift.cc
 tShift_DEPENDENCIES = ../src/libbbs.la $(LOFAR_DEPEND)
 
+tDFT_SOURCES = tDFT.cc
+tDFT_DEPENDENCIES = ../src/libbbs.la $(LOFAR_DEPEND)
+
 LDADD				= ../src/libbbs.la 
 
 TESTS_ENVIRONMENT		= lofar_sharedir=$(lofar_sharedir) \
diff --git a/CEP/BB/BBS/test/tCorrect.cc b/CEP/BB/BBS/test/tCorrect.cc
index 1cf7241401578bc2326da7d6ae1c432357089f58..4905d04a47a0b58ddfa980488eb614ff694c628a 100644
--- a/CEP/BB/BBS/test/tCorrect.cc
+++ b/CEP/BB/BBS/test/tCorrect.cc
@@ -95,7 +95,7 @@ int main (int argc, const char* argv[])
     }
 
   } catch (std::exception& x) {
-    cout << "Unexpected exception: " << x.what() << endl;
+    cerr << "Unexpected exception: " << x.what() << endl;
     return 1;
   }
   cout << "OK" << endl;
diff --git a/CEP/BB/BBS/test/tMSData.cc b/CEP/BB/BBS/test/tMSData.cc
index 15de9e918d82f9a8b65e5a2e291475e993d7db45..05f63b6bc3404901fd630f5c2e038aa0e875c258 100644
--- a/CEP/BB/BBS/test/tMSData.cc
+++ b/CEP/BB/BBS/test/tMSData.cc
@@ -152,7 +152,7 @@ int main(int argc, char** argv)
     doIt (argv[1], pre, column, spwid, nrant, 0, 50, true, false);
     doIt (argv[1], pre, column, spwid, nrant, 10,11, true, true);
   } catch (exception& x) {
-    cout << "Unexpected expection: " << x.what() << endl;
+    cerr << "Unexpected expection: " << x.what() << endl;
     return 1;
   }
   return 0;
diff --git a/CEP/BB/BBS/test/tMSData.run b/CEP/BB/BBS/test/tMSData.run
index 204ab01809b64ee2c36bf88f1afaa5bba195eae6..73500f62338e9c41cb339e992eee9e52842210dd 100755
--- a/CEP/BB/BBS/test/tMSData.run
+++ b/CEP/BB/BBS/test/tMSData.run
@@ -21,7 +21,7 @@ if [ $stat != 0 ]; then
   status=$stat
 fi
 
-# Try to do a test with multiple bands by creating an MS with 2 bands..
+# Try to do a test with multiple bands by creating an MS with 2 bands.
 if [ ! -d $HOME/WSRT_ANTENNA ]; then
   exit $status
 fi
diff --git a/CEP/BB/BBS/test/tMeqParm.cc b/CEP/BB/BBS/test/tMeqParm.cc
index 5a08373508d3252e11df4706f53704f52f879299..4e7c7db65ba3ad570df07c5e6ff955297e6530ec 100644
--- a/CEP/BB/BBS/test/tMeqParm.cc
+++ b/CEP/BB/BBS/test/tMeqParm.cc
@@ -108,7 +108,7 @@ int main()
       doIt (parm);
     }
   } catch (std::exception& x) {
-    cout << "Caught exception: " << x.what() << endl;
+    cerr << "Caught exception: " << x.what() << endl;
     return 1;
   }
 
diff --git a/CEP/BB/BBS/test/tMeqPolc.cc b/CEP/BB/BBS/test/tMeqPolc.cc
index 5b0bd5815d1af06f8b8a6a9a580a975958fd7bc6..5aa63d9e39d3c43880f82b77aab0f7cbaafae6a5 100644
--- a/CEP/BB/BBS/test/tMeqPolc.cc
+++ b/CEP/BB/BBS/test/tMeqPolc.cc
@@ -272,7 +272,7 @@ int main()
     polc.setCoeff(MeqMatrix(c1, 2, 6), mask);
     doIt(polc);
   } catch (std::exception& x) {
-    cout << "Caught exception: " << x.what() << endl;
+    cerr << "Caught exception: " << x.what() << endl;
     return 1;
   }
   cout << "OK" << endl;
diff --git a/CEP/BB/BBS/test/tMeqPolcLog.cc b/CEP/BB/BBS/test/tMeqPolcLog.cc
index 41756f18abc52fefc6520bb922fbe9ee0df44da4..847f4a76a1e58d8bf7837fa9b2e34c6988a37e05 100644
--- a/CEP/BB/BBS/test/tMeqPolcLog.cc
+++ b/CEP/BB/BBS/test/tMeqPolcLog.cc
@@ -159,7 +159,7 @@ int main()
     doIt(polc);
 
   } catch (std::exception& x) {
-    cout << "Caught exception: " << x.what() << endl;
+    cerr << "Caught exception: " << x.what() << endl;
     return 1;
   }
   cout << "OK" << endl;
diff --git a/CEP/BB/BBS/test/tMeqTabular.cc b/CEP/BB/BBS/test/tMeqTabular.cc
index f0e1a0a310ee08bd2c932a0c7e9600a324d1d3d6..76a372de08235d670eb1ac362b1eaf8dda8d7e16 100644
--- a/CEP/BB/BBS/test/tMeqTabular.cc
+++ b/CEP/BB/BBS/test/tMeqTabular.cc
@@ -319,7 +319,7 @@ int main()
   {
     ok = test_constant() && test_line() && test_sin();
   } catch (std::exception& ex) {
-    cout << "Caught exception: " << ex.what() << endl;
+    cerr << "Caught exception: " << ex.what() << endl;
     return 1;
   }
   
diff --git a/CEP/BB/BBS/test/tPredict.cc b/CEP/BB/BBS/test/tPredict.cc
index b841cf803c3bfd07f029171a3adb938e8c468d5d..012cdab9fc41ecea09a4118c265fab2aa7760c9b 100644
--- a/CEP/BB/BBS/test/tPredict.cc
+++ b/CEP/BB/BBS/test/tPredict.cc
@@ -94,7 +94,7 @@ int main (int argc, const char* argv[])
     }
 
   } catch (std::exception& x) {
-    cout << "Unexpected exception: " << x.what() << endl;
+    cerr << "Unexpected exception: " << x.what() << endl;
     return 1;
   }
   cout << "OK" << endl;
diff --git a/CEP/BB/BBS/test/tSubtract.cc b/CEP/BB/BBS/test/tSubtract.cc
index 6f550bc9d1cb554a7ea7efd494497dd4f8606fa2..9732deec0d7dbba304981d6bb4d901cd740efb7c 100644
--- a/CEP/BB/BBS/test/tSubtract.cc
+++ b/CEP/BB/BBS/test/tSubtract.cc
@@ -94,7 +94,7 @@ int main (int argc, const char* argv[])
     }
 
   } catch (std::exception& x) {
-    cout << "Unexpected exception: " << x.what() << endl;
+    cerr << "Unexpected exception: " << x.what() << endl;
     return 1;
   }
   cout << "OK" << endl;
diff --git a/CEP/BB/BBSKernel/src/BBSrun.cc b/CEP/BB/BBSKernel/src/BBSrun.cc
index 12d44ebf6831a14a9d6a1d3207448a9901d66b2a..401b8eb8313c3e649c4be71a1701d9abd7d377a8 100644
--- a/CEP/BB/BBSKernel/src/BBSrun.cc
+++ b/CEP/BB/BBSKernel/src/BBSrun.cc
@@ -50,7 +50,7 @@ void predict (Prediffer& prediffer, const MSDesc& msd,
   double time = msd.startTime;
   double endTime = msd.endTime;
   while (time < endTime) {
-    prediffer.setWorkDomain (startChan, endChan, time, time+timeStep);
+    prediffer.setWorkDomain (startChan, endChan, time, timeStep);
     prediffer.setStepProp (stepProp);
     prediffer.writePredictedData();
     time += timeStep;
@@ -64,7 +64,7 @@ void subtract (Prediffer& prediffer, const MSDesc& msd,
   double time = msd.startTime;
   double endTime = msd.endTime;
   while (time < endTime) {
-    prediffer.setWorkDomain (startChan, endChan, time, time+timeStep);
+    prediffer.setWorkDomain (startChan, endChan, time, timeStep);
     prediffer.setStepProp (stepProp);
     prediffer.subtractData();
     time += timeStep;
@@ -83,7 +83,7 @@ void solve (Prediffer& prediffer, const MSDesc& msd,
   SolveProp solProp(solveProp);
   while (time < endTime) {
     // Use given channels and time steps.
-    prediffer.setWorkDomain (startChan, endChan, time, time+timeStep);
+    prediffer.setWorkDomain (startChan, endChan, time, timeStep);
     prediffer.setStepProp (stepProp);
     // Form the solve domains.
     const MeqDomain& workDomain = prediffer.getWorkDomain();
diff --git a/CEP/BB/BBSKernel/test/Makefile.am b/CEP/BB/BBSKernel/test/Makefile.am
index 23edede6a76f21af6001d358c29f9895cfabef54..2c252142e617bf40ba0b92d3b531bfd802721348 100644
--- a/CEP/BB/BBSKernel/test/Makefile.am
+++ b/CEP/BB/BBSKernel/test/Makefile.am
@@ -1,6 +1,6 @@
 check_PROGRAMS = tFillRow tMeqPolc tMeqPolcLog tMeqTabular tMeqParm \
 tParmMerge tPredSolv tPredict tSubtract tCorrect tPerturbed tMSData \
-tShift
+tShift tDFT
 
 tMeqPolc_SOURCES = tMeqPolc.cc
 tMeqPolc_DEPENDENCIES = ../src/libbbs.la $(LOFAR_DEPEND)
@@ -41,6 +41,9 @@ tMSData_DEPENDENCIES = ../src/libbbs.la $(LOFAR_DEPEND)
 tShift_SOURCES = tShift.cc
 tShift_DEPENDENCIES = ../src/libbbs.la $(LOFAR_DEPEND)
 
+tDFT_SOURCES = tDFT.cc
+tDFT_DEPENDENCIES = ../src/libbbs.la $(LOFAR_DEPEND)
+
 LDADD				= ../src/libbbs.la 
 
 TESTS_ENVIRONMENT		= lofar_sharedir=$(lofar_sharedir) \
diff --git a/CEP/BB/BBSKernel/test/tCorrect.cc b/CEP/BB/BBSKernel/test/tCorrect.cc
index 1cf7241401578bc2326da7d6ae1c432357089f58..4905d04a47a0b58ddfa980488eb614ff694c628a 100644
--- a/CEP/BB/BBSKernel/test/tCorrect.cc
+++ b/CEP/BB/BBSKernel/test/tCorrect.cc
@@ -95,7 +95,7 @@ int main (int argc, const char* argv[])
     }
 
   } catch (std::exception& x) {
-    cout << "Unexpected exception: " << x.what() << endl;
+    cerr << "Unexpected exception: " << x.what() << endl;
     return 1;
   }
   cout << "OK" << endl;
diff --git a/CEP/BB/BBSKernel/test/tMSData.cc b/CEP/BB/BBSKernel/test/tMSData.cc
index 15de9e918d82f9a8b65e5a2e291475e993d7db45..05f63b6bc3404901fd630f5c2e038aa0e875c258 100644
--- a/CEP/BB/BBSKernel/test/tMSData.cc
+++ b/CEP/BB/BBSKernel/test/tMSData.cc
@@ -152,7 +152,7 @@ int main(int argc, char** argv)
     doIt (argv[1], pre, column, spwid, nrant, 0, 50, true, false);
     doIt (argv[1], pre, column, spwid, nrant, 10,11, true, true);
   } catch (exception& x) {
-    cout << "Unexpected expection: " << x.what() << endl;
+    cerr << "Unexpected expection: " << x.what() << endl;
     return 1;
   }
   return 0;
diff --git a/CEP/BB/BBSKernel/test/tMSData.run b/CEP/BB/BBSKernel/test/tMSData.run
index 204ab01809b64ee2c36bf88f1afaa5bba195eae6..73500f62338e9c41cb339e992eee9e52842210dd 100755
--- a/CEP/BB/BBSKernel/test/tMSData.run
+++ b/CEP/BB/BBSKernel/test/tMSData.run
@@ -21,7 +21,7 @@ if [ $stat != 0 ]; then
   status=$stat
 fi
 
-# Try to do a test with multiple bands by creating an MS with 2 bands..
+# Try to do a test with multiple bands by creating an MS with 2 bands.
 if [ ! -d $HOME/WSRT_ANTENNA ]; then
   exit $status
 fi
diff --git a/CEP/BB/BBSKernel/test/tMeqParm.cc b/CEP/BB/BBSKernel/test/tMeqParm.cc
index 5a08373508d3252e11df4706f53704f52f879299..4e7c7db65ba3ad570df07c5e6ff955297e6530ec 100644
--- a/CEP/BB/BBSKernel/test/tMeqParm.cc
+++ b/CEP/BB/BBSKernel/test/tMeqParm.cc
@@ -108,7 +108,7 @@ int main()
       doIt (parm);
     }
   } catch (std::exception& x) {
-    cout << "Caught exception: " << x.what() << endl;
+    cerr << "Caught exception: " << x.what() << endl;
     return 1;
   }
 
diff --git a/CEP/BB/BBSKernel/test/tMeqPolc.cc b/CEP/BB/BBSKernel/test/tMeqPolc.cc
index 5b0bd5815d1af06f8b8a6a9a580a975958fd7bc6..5aa63d9e39d3c43880f82b77aab0f7cbaafae6a5 100644
--- a/CEP/BB/BBSKernel/test/tMeqPolc.cc
+++ b/CEP/BB/BBSKernel/test/tMeqPolc.cc
@@ -272,7 +272,7 @@ int main()
     polc.setCoeff(MeqMatrix(c1, 2, 6), mask);
     doIt(polc);
   } catch (std::exception& x) {
-    cout << "Caught exception: " << x.what() << endl;
+    cerr << "Caught exception: " << x.what() << endl;
     return 1;
   }
   cout << "OK" << endl;
diff --git a/CEP/BB/BBSKernel/test/tMeqPolcLog.cc b/CEP/BB/BBSKernel/test/tMeqPolcLog.cc
index 41756f18abc52fefc6520bb922fbe9ee0df44da4..847f4a76a1e58d8bf7837fa9b2e34c6988a37e05 100644
--- a/CEP/BB/BBSKernel/test/tMeqPolcLog.cc
+++ b/CEP/BB/BBSKernel/test/tMeqPolcLog.cc
@@ -159,7 +159,7 @@ int main()
     doIt(polc);
 
   } catch (std::exception& x) {
-    cout << "Caught exception: " << x.what() << endl;
+    cerr << "Caught exception: " << x.what() << endl;
     return 1;
   }
   cout << "OK" << endl;
diff --git a/CEP/BB/BBSKernel/test/tMeqTabular.cc b/CEP/BB/BBSKernel/test/tMeqTabular.cc
index f0e1a0a310ee08bd2c932a0c7e9600a324d1d3d6..76a372de08235d670eb1ac362b1eaf8dda8d7e16 100644
--- a/CEP/BB/BBSKernel/test/tMeqTabular.cc
+++ b/CEP/BB/BBSKernel/test/tMeqTabular.cc
@@ -319,7 +319,7 @@ int main()
   {
     ok = test_constant() && test_line() && test_sin();
   } catch (std::exception& ex) {
-    cout << "Caught exception: " << ex.what() << endl;
+    cerr << "Caught exception: " << ex.what() << endl;
     return 1;
   }
   
diff --git a/CEP/BB/BBSKernel/test/tPredict.cc b/CEP/BB/BBSKernel/test/tPredict.cc
index b841cf803c3bfd07f029171a3adb938e8c468d5d..012cdab9fc41ecea09a4118c265fab2aa7760c9b 100644
--- a/CEP/BB/BBSKernel/test/tPredict.cc
+++ b/CEP/BB/BBSKernel/test/tPredict.cc
@@ -94,7 +94,7 @@ int main (int argc, const char* argv[])
     }
 
   } catch (std::exception& x) {
-    cout << "Unexpected exception: " << x.what() << endl;
+    cerr << "Unexpected exception: " << x.what() << endl;
     return 1;
   }
   cout << "OK" << endl;
diff --git a/CEP/BB/BBSKernel/test/tSubtract.cc b/CEP/BB/BBSKernel/test/tSubtract.cc
index 6f550bc9d1cb554a7ea7efd494497dd4f8606fa2..9732deec0d7dbba304981d6bb4d901cd740efb7c 100644
--- a/CEP/BB/BBSKernel/test/tSubtract.cc
+++ b/CEP/BB/BBSKernel/test/tSubtract.cc
@@ -94,7 +94,7 @@ int main (int argc, const char* argv[])
     }
 
   } catch (std::exception& x) {
-    cout << "Unexpected exception: " << x.what() << endl;
+    cerr << "Unexpected exception: " << x.what() << endl;
     return 1;
   }
   cout << "OK" << endl;