diff --git a/CEP/BB/BBS3/test/run.SolveAP b/CEP/BB/BBS3/test/run.SolveAP
new file mode 100755
index 0000000000000000000000000000000000000000..d82fa548788393cc1c5cabf5f3d2af6dcc40fed7
--- /dev/null
+++ b/CEP/BB/BBS3/test/run.SolveAP
@@ -0,0 +1,112 @@
+#!/bin/sh
+# this script must be called with usernm
+# This script solves for amplitude phase.
+# It uses the input parameters set: BB3C343.input2
+
+
+if [ "$#" != "1" ]; then
+ echo "run as:   run.3C343 usernm"
+ exit 1
+fi
+
+usernm=$1
+dbtype=aips
+
+# Define functions to create the parm tables.
+beginParmdbInputFile () {
+  rm -f fill.parmdb
+  add2file "create $*"
+  add2file "connect $*"
+  add2file "clear"
+}
+add2file () {
+  echo $* >> fill.parmdb
+}
+applyfile () {
+  add2file  "quit" 
+  ./parmdb < fill.parmdb
+}
+makeMeq () {
+  diff="1e-6" 
+  if [ "$#" -eq "1" ]; then
+    diff=$1 
+  fi
+  add2file  "adddef frot      values=0, diff=${diff}" 
+  add2file  "adddef drot      values=0, diff=${diff}" 
+  add2file  "adddef dell      values=0, diff=${diff}" 
+  add2file  "adddef gain.11   values=1, diff=${diff}" 
+  add2file  "adddef gain.22   values=1, diff=${diff}" 
+  add2file  "adddef EJ11.ampl values=1, diff=${diff}" 
+  add2file  "adddef EJ12.ampl values=0, diff=${diff}" 
+  add2file  "adddef EJ21.ampl values=0, diff=${diff}" 
+  add2file  "adddef EJ22.ampl values=1, diff=${diff}" 
+  add2file  "adddef EJ11.phase values=0, diff=${diff}" 
+  add2file  "adddef EJ12.phase values=0, diff=${diff}" 
+  add2file  "adddef EJ21.phase values=0, diff=${diff}" 
+  add2file  "adddef EJ22.phase values=0, diff=${diff}" 
+}
+makeGsm () {
+  diff="1e-6" 
+  if [ "$#" -eq "1" ]; then
+    diff=$1 
+  fi
+  add2file  "adddef RA.CP1  values=4.356645791155902, srcnr=0, diff=${diff}, diff_rel=F" 
+  add2file  "adddef DEC.CP1 values=1.092208429052697, srcnr=0, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef RA.CP1  values=4.356645, srcnr=0, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef DEC.CP1 values=1.092208, srcnr=0, diff=${diff}, diff_rel=F" 
+  add2file  "adddef StokesI.CP1 values=1.0,     srcnr=0, diff=${diff} " 
+  add2file  "adddef StokesQ.CP1 values=0,       srcnr=0, diff=${diff} " 
+  add2file  "adddef StokesU.CP1 values=0,       srcnr=0, diff=${diff} " 
+  add2file  "adddef StokesV.CP1 values=0,       srcnr=0, diff=${diff} " 
+  add2file  "adddef RA.CP2  values=4.3396003966265599, srcnr=1, diff=${diff}, diff_rel=F" 
+  add2file  "adddef DEC.CP2 values=1.0953677174056471, srcnr=1, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef RA.CP2  values=4.339600, srcnr=1, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef DEC.CP2 values=1.095367, srcnr=1, diff=${diff}, diff_rel=F" 
+  add2file  "adddef StokesI.CP2 values=1.0,     srcnr=1, diff=${diff} " 
+  add2file  "adddef StokesQ.CP2 values=0,       srcnr=1, diff=${diff} " 
+  add2file  "adddef StokesU.CP2 values=0,       srcnr=1, diff=${diff} " 
+  add2file  "adddef StokesV.CP2 values=0,       srcnr=1, diff=${diff} " 
+}
+
+makeGsm2 () {
+  diff="1e-6" 
+  if [ "$#" -eq "1" ]; then
+    diff=$1 
+  fi
+  add2file  "adddef RA.CP1  values=4.356645791155902, srcnr=0, diff=${diff}, diff_rel=F" 
+  add2file  "adddef DEC.CP1 values=1.092208429052697, srcnr=0, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef RA.CP1  values=4.356645, srcnr=0, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef DEC.CP1 values=1.092208, srcnr=0, diff=${diff}, diff_rel=F" 
+  add2file  "adddef StokesI.CP1 nx=2, values=[1.0,0.], srcnr=0, diff=${diff} " 
+  add2file  "adddef StokesQ.CP1 values=0,       srcnr=0, diff=${diff} " 
+  add2file  "adddef StokesU.CP1 values=0,       srcnr=0, diff=${diff} " 
+  add2file  "adddef StokesV.CP1 values=0,       srcnr=0, diff=${diff} " 
+  add2file  "adddef RA.CP2  values=4.3396003966265599, srcnr=1, diff=${diff}, diff_rel=F" 
+  add2file  "adddef DEC.CP2 values=1.0953677174056471, srcnr=1, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef RA.CP2  values=4.339600, srcnr=1, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef DEC.CP2 values=1.095367, srcnr=1, diff=${diff}, diff_rel=F" 
+  add2file  "adddef StokesI.CP2 nx=4, values=[1.0,0.,0.,0.], srcnr=1, diff=${diff} " 
+  add2file  "adddef StokesQ.CP2 values=0,       srcnr=1, diff=${diff} " 
+  add2file  "adddef StokesU.CP2 values=0,       srcnr=1, diff=${diff} " 
+  add2file  "adddef StokesV.CP2 values=0,       srcnr=1, diff=${diff} " 
+}
+
+
+echo "  Generating parm tables ..."
+# use functions to initialize parmtables
+beginParmdbInputFile "dbtype='$dbtype', user='$usernm', tablename='10008336'"
+makeMeq
+applyfile
+
+ln -s /data/PSS3/diepen/BBS2/3C343/10008336_p1.MS 10008336.MS_p1
+ln -s 10008336.MS_p1/vis.des 10008336.MS.des
+
+# Create a new gsm table.
+beginParmdbInputFile "dbtype='$dbtype', user='$usernm', tablename='10008336_gsm'"
+makeGsm
+applyfile
+
+../../src/clearBB -user $usernm
+
+# Solve for phase
+time src/BBS3 ../../test/BB3C343.input2 $usernm
diff --git a/CEP/BB/BBS3/test/run.SolveFlux b/CEP/BB/BBS3/test/run.SolveFlux
new file mode 100755
index 0000000000000000000000000000000000000000..71573e2c6ff40f4602384e638ce543ec04022798
--- /dev/null
+++ b/CEP/BB/BBS3/test/run.SolveFlux
@@ -0,0 +1,114 @@
+#!/bin/sh
+# this script must be called with usernm
+# This script solves for the phase.
+# It uses the input parameters set: BB3C343.input1
+
+if [ "$#" != "1" ]; then
+ echo "run as:   run.3C343 usernm"
+ exit 1
+fi
+
+usernm=$1
+dbtype=aips
+
+# Define functions to create the parm tables.
+beginParmdbInputFile () {
+  rm -f fill.parmdb
+  add2file "create $*"
+  add2file "connect $*"
+  add2file "clear"
+}
+add2file () {
+  echo $* >> fill.parmdb
+}
+applyfile () {
+  add2file  "quit" 
+  ./parmdb < fill.parmdb
+}
+makeMeq () {
+  diff="1e-6" 
+  if [ "$#" -eq "1" ]; then
+    diff=$1 
+  fi
+  add2file  "adddef frot      values=0, diff=${diff}" 
+  add2file  "adddef drot      values=0, diff=${diff}" 
+  add2file  "adddef dell      values=0, diff=${diff}" 
+  add2file  "adddef gain.11   values=1, diff=${diff}" 
+  add2file  "adddef gain.22   values=1, diff=${diff}" 
+  add2file  "adddef EJ11.ampl values=1, diff=${diff}" 
+  add2file  "adddef EJ12.ampl values=0, diff=${diff}" 
+  add2file  "adddef EJ21.ampl values=0, diff=${diff}" 
+  add2file  "adddef EJ22.ampl values=1, diff=${diff}" 
+  add2file  "adddef EJ11.phase values=0, diff=${diff}" 
+  add2file  "adddef EJ12.phase values=0, diff=${diff}" 
+  add2file  "adddef EJ21.phase values=0, diff=${diff}" 
+  add2file  "adddef EJ22.phase values=0, diff=${diff}" 
+}
+makeGsm () {
+  diff="1e-6" 
+  if [ "$#" -eq "1" ]; then
+    diff=$1 
+  fi
+  add2file  "adddef RA.CP1  values=4.356645791155902, srcnr=0, diff=${diff}, diff_rel=F" 
+  add2file  "adddef DEC.CP1 values=1.092208429052697, srcnr=0, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef RA.CP1  values=4.356645, srcnr=0, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef DEC.CP1 values=1.092208, srcnr=0, diff=${diff}, diff_rel=F" 
+  add2file  "adddef StokesI.CP1 values=1.0,     srcnr=0, diff=${diff} " 
+  add2file  "adddef StokesQ.CP1 values=0,       srcnr=0, diff=${diff} " 
+  add2file  "adddef StokesU.CP1 values=0,       srcnr=0, diff=${diff} " 
+  add2file  "adddef StokesV.CP1 values=0,       srcnr=0, diff=${diff} " 
+  add2file  "adddef RA.CP2  values=4.3396003966265599, srcnr=1, diff=${diff}, diff_rel=F" 
+  add2file  "adddef DEC.CP2 values=1.0953677174056471, srcnr=1, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef RA.CP2  values=4.339600, srcnr=1, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef DEC.CP2 values=1.095367, srcnr=1, diff=${diff}, diff_rel=F" 
+  add2file  "adddef StokesI.CP2 values=1.0,     srcnr=1, diff=${diff} " 
+  add2file  "adddef StokesQ.CP2 values=0,       srcnr=1, diff=${diff} " 
+  add2file  "adddef StokesU.CP2 values=0,       srcnr=1, diff=${diff} " 
+  add2file  "adddef StokesV.CP2 values=0,       srcnr=1, diff=${diff} " 
+}
+
+makeGsm2 () {
+  diff="1e-6" 
+  if [ "$#" -eq "1" ]; then
+    diff=$1 
+  fi
+  add2file  "adddef RA.CP1  values=4.356645791155902, srcnr=0, diff=${diff}, diff_rel=F" 
+  add2file  "adddef DEC.CP1 values=1.092208429052697, srcnr=0, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef RA.CP1  values=4.356645, srcnr=0, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef DEC.CP1 values=1.092208, srcnr=0, diff=${diff}, diff_rel=F" 
+  add2file  "adddef StokesI.CP1 nx=2, values=[1.0,0.], srcnr=0, diff=${diff} " 
+  add2file  "adddef StokesQ.CP1 values=0,       srcnr=0, diff=${diff} " 
+  add2file  "adddef StokesU.CP1 values=0,       srcnr=0, diff=${diff} " 
+  add2file  "adddef StokesV.CP1 values=0,       srcnr=0, diff=${diff} " 
+  add2file  "adddef RA.CP2  values=4.3396003966265599, srcnr=1, diff=${diff}, diff_rel=F" 
+  add2file  "adddef DEC.CP2 values=1.0953677174056471, srcnr=1, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef RA.CP2  values=4.339600, srcnr=1, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef DEC.CP2 values=1.095367, srcnr=1, diff=${diff}, diff_rel=F" 
+  add2file  "adddef StokesI.CP2 nx=4, values=[1.0,0.,0.,0.], srcnr=1, diff=${diff} " 
+  add2file  "adddef StokesQ.CP2 values=0,       srcnr=1, diff=${diff} " 
+  add2file  "adddef StokesU.CP2 values=0,       srcnr=1, diff=${diff} " 
+  add2file  "adddef StokesV.CP2 values=0,       srcnr=1, diff=${diff} " 
+}
+
+
+echo "  Generating parm tables ..."
+# use functions to initialize parmtables
+beginParmdbInputFile "dbtype='$dbtype', user='$usernm', tablename='10008336'"
+makeMeq
+applyfile
+
+ln -s /data/PSS3/diepen/BBS2/3C343/10008336_p1.MS 10008336.MS_p1
+ln -s 10008336.MS_p1/vis.des 10008336.MS.des
+
+
+# Create a new gsm table.
+beginParmdbInputFile "dbtype='$dbtype', user='$usernm', tablename='10008336_gsm'"
+makeGsm
+applyfile
+
+../../src/clearBB -user $usernm
+
+# Solve for StokesI (and save that).
+time src/BBS3 ../../test/BB3C343.input1 $usernm 
+
+
diff --git a/CEP/BB/BBS3/test/run.SolvePoly b/CEP/BB/BBS3/test/run.SolvePoly
new file mode 100755
index 0000000000000000000000000000000000000000..264222bb3f988402e790cd23724fa6f53c6e29ad
--- /dev/null
+++ b/CEP/BB/BBS3/test/run.SolvePoly
@@ -0,0 +1,111 @@
+#!/bin/sh
+# this script must be called with usernm
+# This script solves for a polynomial phase.
+# It uses the input parameters set: BB3C343.input1 
+
+if [ "$#" != "1" ]; then
+ echo "run as:   run.3C343 usernm"
+ exit 1
+fi
+
+usernm=$1
+dbtype=aips
+
+# Define functions to create the parm tables.
+beginParmdbInputFile () {
+  rm -f fill.parmdb
+  add2file "create $*"
+  add2file "connect $*"
+  add2file "clear"
+}
+add2file () {
+  echo $* >> fill.parmdb
+}
+applyfile () {
+  add2file  "quit" 
+  ./parmdb < fill.parmdb
+}
+makeMeq () {
+  diff="1e-6" 
+  if [ "$#" -eq "1" ]; then
+    diff=$1 
+  fi
+  add2file  "adddef frot      values=0, diff=${diff}" 
+  add2file  "adddef drot      values=0, diff=${diff}" 
+  add2file  "adddef dell      values=0, diff=${diff}" 
+  add2file  "adddef gain.11   values=1, diff=${diff}" 
+  add2file  "adddef gain.22   values=1, diff=${diff}" 
+  add2file  "adddef EJ11.ampl values=1, diff=${diff}" 
+  add2file  "adddef EJ12.ampl values=0, diff=${diff}" 
+  add2file  "adddef EJ21.ampl values=0, diff=${diff}" 
+  add2file  "adddef EJ22.ampl values=1, diff=${diff}" 
+  add2file  "adddef EJ11.phase values=0, diff=${diff}" 
+  add2file  "adddef EJ12.phase values=0, diff=${diff}" 
+  add2file  "adddef EJ21.phase values=0, diff=${diff}" 
+  add2file  "adddef EJ22.phase values=0, diff=${diff}" 
+}
+makeGsm () {
+  diff="1e-6" 
+  if [ "$#" -eq "1" ]; then
+    diff=$1 
+  fi
+  add2file  "adddef RA.CP1  values=4.356645791155902, srcnr=0, diff=${diff}, diff_rel=F" 
+  add2file  "adddef DEC.CP1 values=1.092208429052697, srcnr=0, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef RA.CP1  values=4.356645, srcnr=0, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef DEC.CP1 values=1.092208, srcnr=0, diff=${diff}, diff_rel=F" 
+  add2file  "adddef StokesI.CP1 values=1.0,     srcnr=0, diff=${diff} " 
+  add2file  "adddef StokesQ.CP1 values=0,       srcnr=0, diff=${diff} " 
+  add2file  "adddef StokesU.CP1 values=0,       srcnr=0, diff=${diff} " 
+  add2file  "adddef StokesV.CP1 values=0,       srcnr=0, diff=${diff} " 
+  add2file  "adddef RA.CP2  values=4.3396003966265599, srcnr=1, diff=${diff}, diff_rel=F" 
+  add2file  "adddef DEC.CP2 values=1.0953677174056471, srcnr=1, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef RA.CP2  values=4.339600, srcnr=1, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef DEC.CP2 values=1.095367, srcnr=1, diff=${diff}, diff_rel=F" 
+  add2file  "adddef StokesI.CP2 values=1.0,     srcnr=1, diff=${diff} " 
+  add2file  "adddef StokesQ.CP2 values=0,       srcnr=1, diff=${diff} " 
+  add2file  "adddef StokesU.CP2 values=0,       srcnr=1, diff=${diff} " 
+  add2file  "adddef StokesV.CP2 values=0,       srcnr=1, diff=${diff} " 
+}
+
+makeGsm2 () {
+  diff="1e-6" 
+  if [ "$#" -eq "1" ]; then
+    diff=$1 
+  fi
+  add2file  "adddef RA.CP1  values=4.356645791155902, srcnr=0, diff=${diff}, diff_rel=F" 
+  add2file  "adddef DEC.CP1 values=1.092208429052697, srcnr=0, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef RA.CP1  values=4.356645, srcnr=0, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef DEC.CP1 values=1.092208, srcnr=0, diff=${diff}, diff_rel=F" 
+  add2file  "adddef StokesI.CP1 nx=2, values=[1.0,0.], srcnr=0, diff=${diff} " 
+  add2file  "adddef StokesQ.CP1 values=0,       srcnr=0, diff=${diff} " 
+  add2file  "adddef StokesU.CP1 values=0,       srcnr=0, diff=${diff} " 
+  add2file  "adddef StokesV.CP1 values=0,       srcnr=0, diff=${diff} " 
+  add2file  "adddef RA.CP2  values=4.3396003966265599, srcnr=1, diff=${diff}, diff_rel=F" 
+  add2file  "adddef DEC.CP2 values=1.0953677174056471, srcnr=1, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef RA.CP2  values=4.339600, srcnr=1, diff=${diff}, diff_rel=F" 
+#  add2file  "adddef DEC.CP2 values=1.095367, srcnr=1, diff=${diff}, diff_rel=F" 
+  add2file  "adddef StokesI.CP2 nx=4, values=[1.0,0.,0.,0.], srcnr=1, diff=${diff} " 
+  add2file  "adddef StokesQ.CP2 values=0,       srcnr=1, diff=${diff} " 
+  add2file  "adddef StokesU.CP2 values=0,       srcnr=1, diff=${diff} " 
+  add2file  "adddef StokesV.CP2 values=0,       srcnr=1, diff=${diff} " 
+}
+
+
+echo "  Generating parm tables ..."
+# use functions to initialize parmtables
+beginParmdbInputFile "dbtype='$dbtype', user='$usernm', tablename='10008336'"
+makeMeq
+applyfile
+
+beginParmdbInputFile "dbtype='$dbtype', user='$usernm', tablename='10008336_gsm'"
+makeGsm2
+applyfile
+
+ln -s /data/PSS3/diepen/BBS2/3C343/10008336_p1.MS 10008336.MS_p1
+ln -s 10008336.MS_p1/vis.des 10008336.MS.des
+
+../../src/clearBB -user $usernm
+
+# Solve for StokesI as function of freq.
+time src/BBS3 ../../test/BB3C343.input1 $usernm
+