diff --git a/Docker/Dockerfile b/Docker/Dockerfile
index 005ac10fc653f5891eb96b475f29a38172ebbd11..a0b75806a6238ca35bae3820a0fe6c3f5dea4d75 100644
--- a/Docker/Dockerfile
+++ b/Docker/Dockerfile
@@ -1,16 +1,17 @@
 FROM lofareosc/lofar-pipeline:latest
 USER root
+ENV PREFACTOR_VERSION='master' \
+    PREFACTOR_NAME=prefactor \
+    LC_ALL=C.UTF-8 \
+    PREFACTOR_DATA_ROOT=/usr/local/share/prefactor \
+    PYTHONPATH="/usr/local/bin:${PYTHONPATH}"
 
 RUN apt update && apt install -y vim wget casacore-tools && rm -rf /var/cache/apt 
-RUN pip3 install --upgrade pip && pip3 install --upgrade numpy scipy
-COPY prefactor/scripts/* /opt/lofar/scripts/
-COPY prefactor/skymodels/* /data/skymodels/
-COPY prefactor/rfistrategies/* /data/rfistrategies/
-COPY prefactor/solutions/* /data/solutions/
+RUN pip3 install --upgrade pip && \
+    git clone https://github.com/lofar-astron/prefactor.git ${PREFACTOR_NAME} && \
+    cd ${PREFACTOR_NAME} && git checkout ${PREFACTOR_VERSION} && git pull && \
+    pip3 install --upgrade $PWD && cd .. && \
+    rm -rfv ${PREFACTOR_NAME}
 
-RUN ln -sf /opt/lofar/scripts/* /usr/local/bin/
-RUN chmod +rx /usr/local/bin/*
-ENV PYTHONPATH="/opt/lofar/scripts:${PYTHONPATH}"
 ENTRYPOINT ["/home/lofaruser/.entrypoint"]
 USER lofaruser
-
diff --git a/Docker/Dockerfile_ci b/Docker/Dockerfile_ci
index 12a9727a20f054b93edaad1630501078febeaaa7..c42aafdb7e1ff94198632acb6d4e732633b2ce4e 100644
--- a/Docker/Dockerfile_ci
+++ b/Docker/Dockerfile_ci
@@ -1,14 +1,12 @@
-FROM lofareosc/prefactor
+FROM lofareosc/prefactor3-cwl
 SHELL ["/bin/bash", "-c"]
 
-ADD L570745_uv_first10.MS.tar.xz /data
-ADD skymodels.tar.gz /data/skymodels
+#ADD L570745_uv_first10.MS.tar.xz /data
+#ADD skymodels.tar.gz /data/skymodels
 ADD test_data/A-Team_lowres.sourcedb /data/A-Team_lowres.sourcedb
 ADD test_data/example.h5 /data/example.h5
+ADD test_data/calibration.h5  /data/calibration.h5
 ADD test_data/L570745_SB001_uv_MODEL.MS /data/L570745_SB001_uv_MODEL.MS
 ADD test_data/L570745_SB001_uv_CORRECTED_DATA.MS /data/L570745_SB001_uv_CORRECTED_DATA.MS
 ADD test_data/L570745_SB002_uv_CORRECTED_DATA.MS /data/L570745_SB002_uv_CORRECTED_DATA.MS
 ADD test_data/L570745_SB003_uv_CORRECTED_DATA.MS /data/L570745_SB003_uv_CORRECTED_DATA.MS
-
-ADD test_data/calibration.h5  /data/calibration.h5
-
diff --git a/Docker/build_docker.sh b/Docker/build_docker.sh
index 4e2638aa04f839a7e81c5fdfbe2374148f38f6f5..d51e3c186055232ebd4e2702b0eff90cbbffa928 100755
--- a/Docker/build_docker.sh
+++ b/Docker/build_docker.sh
@@ -1,25 +1,8 @@
 #! /bin/bash
 set -e
 
-git_clone_or_pull () {
-    REPO=$1
-    BRANCH=$2
-    DIR=$3
-    if [ -d $DIR ] 
-    then
-     git -C "${DIR}" pull
-    else
-     git clone --depth 1 -b "${BRANCH}" "${REPO}" "${DIR}"
-    fi
-}
 
-Prefactor_TAG=production
+DOCKER_TAG=latest
 
-# FETCHES Prefactor
-git_clone_or_pull https://github.com/lofar-astron/prefactor.git ${Prefactor_TAG} prefactor
-SCRIPT_PATH=$(realpath ${BASH_SOURCE[0]})
-
-DOCKER_PATH=$(dirname ${SCRIPT_PATH})
-
-docker build ${DOCKER_PATH} -t lofareosc/prefactor
-docker build ${DOCKER_PATH} -f ${DOCKER_PATH}/Dockerfile_ci -t lofareosc/prefactor-ci
+docker build ${PWD} -t lofareosc/prefactor3-cwl:${DOCKER_TAG}
+docker push lofareosc/prefactor3-cwl:${DOCKER_TAG}
diff --git a/lofar-cwl/steps/AOFlagger.cwl b/lofar-cwl/steps/AOFlagger.cwl
index fcd6378d8b8d5521ccd2ecf4789f308cdeb1ddc6..fb45f040ea7056136096c51f64b9807cc4e530c6 100644
--- a/lofar-cwl/steps/AOFlagger.cwl
+++ b/lofar-cwl/steps/AOFlagger.cwl
@@ -13,7 +13,7 @@ requirements:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 baseCommand:
   - aoflagger
diff --git a/lofar-cwl/steps/Ateamclipper.cwl b/lofar-cwl/steps/Ateamclipper.cwl
index 0276008ef13c5626bf3edadb912c896eb9ed603e..e74db690c206dd8acbeae17be1d47e627f061c9b 100755
--- a/lofar-cwl/steps/Ateamclipper.cwl
+++ b/lofar-cwl/steps/Ateamclipper.cwl
@@ -36,6 +36,6 @@ hints:
       - entry: $(inputs.msin)
         writable: true
   - class: DockerRequirement
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
   - class: InlineJavascriptRequirement
 stdout: Ateamclipper.log
diff --git a/lofar-cwl/steps/DPPP.cwl b/lofar-cwl/steps/DPPP.cwl
index 8cd5a42291642598cd7fc2884a491b254246c476..de2ca5c7e88d6cc6cd3f30469ac689a293ef163c 100755
--- a/lofar-cwl/steps/DPPP.cwl
+++ b/lofar-cwl/steps/DPPP.cwl
@@ -132,7 +132,7 @@ outputs:
       glob: 'DPPP*.log'
 hints:
   - class: DockerRequirement
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 stdout: DPPP.log
 stderr: DPPP_err.log
 requirements:
diff --git a/lofar-cwl/steps/H5ParmCollector.cwl b/lofar-cwl/steps/H5ParmCollector.cwl
index 5b6a2dcdd0f11d241b367abbfd6465b8f8569c0f..282c7e49349cbd3857d810a95ab535e2e877cbe4 100755
--- a/lofar-cwl/steps/H5ParmCollector.cwl
+++ b/lofar-cwl/steps/H5ParmCollector.cwl
@@ -82,7 +82,7 @@ outputs:
 label: H5parm_collector
 hints:
   - class: DockerRequirement
-    dockerPull: 'lofareosc/prefactor:HBAcalibrator'
+    dockerPull: 'lofareosc/prefactor3-cwl'
 stdout: $(inputs.outh5parmname)-parm_collector_output.log
 stderr: $(inputs.outh5parmname)-parm_collector_output_err.log
 requirements:
diff --git a/lofar-cwl/steps/LoSoTo.Abs.cwl b/lofar-cwl/steps/LoSoTo.Abs.cwl
index 4ce89e2b5da2f907508e68d757ebc5bfd9d0c178..4063c788424cdc9d635e01c0d07b793abca2eec4 100755
--- a/lofar-cwl/steps/LoSoTo.Abs.cwl
+++ b/lofar-cwl/steps/LoSoTo.Abs.cwl
@@ -31,7 +31,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Clip.cwl b/lofar-cwl/steps/LoSoTo.Clip.cwl
index d9cda24586263c8c703b2947ddd9da43327bda55..c829143c6092d724b595ce070add1b2f97f57966 100644
--- a/lofar-cwl/steps/LoSoTo.Clip.cwl
+++ b/lofar-cwl/steps/LoSoTo.Clip.cwl
@@ -32,7 +32,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.ClockTec.cwl b/lofar-cwl/steps/LoSoTo.ClockTec.cwl
index a02a92a0988dbde0e074d8f4ceaf89813bccbdab..24b16e1797bf247cb466a84bf022c2120a13c071 100644
--- a/lofar-cwl/steps/LoSoTo.ClockTec.cwl
+++ b/lofar-cwl/steps/LoSoTo.ClockTec.cwl
@@ -32,7 +32,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Duplicate.cwl b/lofar-cwl/steps/LoSoTo.Duplicate.cwl
index 55208333d750c4e8354289712e076cb428ba5bbb..a62ffbde02042034b3e371d99cb80ccb279be6f6 100644
--- a/lofar-cwl/steps/LoSoTo.Duplicate.cwl
+++ b/lofar-cwl/steps/LoSoTo.Duplicate.cwl
@@ -31,7 +31,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Faraday.cwl b/lofar-cwl/steps/LoSoTo.Faraday.cwl
index c015e412fe54b1e5d17af3d33a33dabfcba58309..aca07b9557042c5c3105ebedbcd6b6da5d339c19 100644
--- a/lofar-cwl/steps/LoSoTo.Faraday.cwl
+++ b/lofar-cwl/steps/LoSoTo.Faraday.cwl
@@ -33,7 +33,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Flag.cwl b/lofar-cwl/steps/LoSoTo.Flag.cwl
index 302bc82554260d55d604b122dc5440c6fae7fcbf..2cfd5a6a40b9cf9260ed8f33bc30c843e8450c3a 100644
--- a/lofar-cwl/steps/LoSoTo.Flag.cwl
+++ b/lofar-cwl/steps/LoSoTo.Flag.cwl
@@ -33,7 +33,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.FlagStation.cwl b/lofar-cwl/steps/LoSoTo.FlagStation.cwl
index be98dbb4dcfd3867838bffc81957a34345c5f5c8..2cb7b61755263fc8a9947fb2b6538df7e514569b 100644
--- a/lofar-cwl/steps/LoSoTo.FlagStation.cwl
+++ b/lofar-cwl/steps/LoSoTo.FlagStation.cwl
@@ -32,7 +32,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Flagextend.cwl b/lofar-cwl/steps/LoSoTo.Flagextend.cwl
index c64fae492a36b11aa871d0e77f11415db15af38a..4fd0a4c6c930a99bd0fe045e9fb636b4a35a905f 100644
--- a/lofar-cwl/steps/LoSoTo.Flagextend.cwl
+++ b/lofar-cwl/steps/LoSoTo.Flagextend.cwl
@@ -34,7 +34,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Interpolate.cwl b/lofar-cwl/steps/LoSoTo.Interpolate.cwl
index f2fee5dc730b44d34c6cdd90bb9ca2f9348ed489..113a938d47027f73820ce7f5223f0c8ea9ec9ff0 100644
--- a/lofar-cwl/steps/LoSoTo.Interpolate.cwl
+++ b/lofar-cwl/steps/LoSoTo.Interpolate.cwl
@@ -35,7 +35,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Lofarbeam.cwl b/lofar-cwl/steps/LoSoTo.Lofarbeam.cwl
index ffdc5dcc1db43c0c3ab15ae7ee5e3b87bdb95f43..78cdb67f5570cc8dcd127b91b170bb8fbcf80d67 100644
--- a/lofar-cwl/steps/LoSoTo.Lofarbeam.cwl
+++ b/lofar-cwl/steps/LoSoTo.Lofarbeam.cwl
@@ -31,7 +31,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Norm.cwl b/lofar-cwl/steps/LoSoTo.Norm.cwl
index f193e64cafc715019f6cd94294aebfbcb4290ce4..01a4634f8b3e2624c93b1062022a26f775e479f6 100644
--- a/lofar-cwl/steps/LoSoTo.Norm.cwl
+++ b/lofar-cwl/steps/LoSoTo.Norm.cwl
@@ -32,7 +32,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Plot.cwl b/lofar-cwl/steps/LoSoTo.Plot.cwl
index abfc909b4dedeeb9a9a797290cbd3731364ab18f..dcc7b02acd8c9e454316515b73b29b0d447a5c76 100644
--- a/lofar-cwl/steps/LoSoTo.Plot.cwl
+++ b/lofar-cwl/steps/LoSoTo.Plot.cwl
@@ -40,7 +40,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Polalign.cwl b/lofar-cwl/steps/LoSoTo.Polalign.cwl
index fa4bfe34becb68bfc02c8acb0dd6f3e62a0288ce..33e23bb71ab785443fe99f2cf503911d3b05ce24 100755
--- a/lofar-cwl/steps/LoSoTo.Polalign.cwl
+++ b/lofar-cwl/steps/LoSoTo.Polalign.cwl
@@ -49,7 +49,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.PrefactorBandpass.cwl b/lofar-cwl/steps/LoSoTo.PrefactorBandpass.cwl
index 021adf8b37dd3cb23b8c8d3f5feed7e44ef8434a..e480374d9096a84da231cf0d6bfa168cdc051498 100644
--- a/lofar-cwl/steps/LoSoTo.PrefactorBandpass.cwl
+++ b/lofar-cwl/steps/LoSoTo.PrefactorBandpass.cwl
@@ -126,6 +126,6 @@ requirements:
         }
 hints:
   - class: DockerRequirement
-    dockerPull: 'lofareosc/prefactor:HBAcalibrator'
+    dockerPull: 'lofareosc/prefactor3-cwl'
 $schema:
   - 'https://git.astron.nl/eosc/ontologies/raw/master/schema/lofar.owl'
diff --git a/lofar-cwl/steps/LoSoTo.PrefactorXYoffset.cwl b/lofar-cwl/steps/LoSoTo.PrefactorXYoffset.cwl
index 2fd707f650e0f820db15c7dce9ce62d32ecc11a2..b4b87b1d0b398d21a3c8e0e775acc7d372012908 100644
--- a/lofar-cwl/steps/LoSoTo.PrefactorXYoffset.cwl
+++ b/lofar-cwl/steps/LoSoTo.PrefactorXYoffset.cwl
@@ -68,6 +68,6 @@ requirements:
         }
 hints:
   - class: DockerRequirement
-    dockerPull: 'lofareosc/prefactor:HBAcalibrator'
+    dockerPull: 'lofareosc/prefactor3-cwl'
 $schema:
   - 'https://git.astron.nl/eosc/ontologies/raw/master/schema/lofar.owl'
diff --git a/lofar-cwl/steps/LoSoTo.Replicateonaxis.cwl b/lofar-cwl/steps/LoSoTo.Replicateonaxis.cwl
index 3f953a16409b5b72b63dcc1e464ad5dbeb794c18..7d00a0c6502aaf1850841739f1564f1f52fe0ed8 100644
--- a/lofar-cwl/steps/LoSoTo.Replicateonaxis.cwl
+++ b/lofar-cwl/steps/LoSoTo.Replicateonaxis.cwl
@@ -42,7 +42,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Reset.cwl b/lofar-cwl/steps/LoSoTo.Reset.cwl
index ea6e06cbee986d4ba62ff23ab1b1625c3f788bbd..81bf21ddee6484295541617490fa2247c86719e6 100644
--- a/lofar-cwl/steps/LoSoTo.Reset.cwl
+++ b/lofar-cwl/steps/LoSoTo.Reset.cwl
@@ -30,7 +30,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Residual.cwl b/lofar-cwl/steps/LoSoTo.Residual.cwl
index 6642f7ec096493896668094eb5d4912b9a0806c9..21f451c9308cf60ca03b1c78d9472a6d388b561c 100644
--- a/lofar-cwl/steps/LoSoTo.Residual.cwl
+++ b/lofar-cwl/steps/LoSoTo.Residual.cwl
@@ -30,7 +30,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Reweight.cwl b/lofar-cwl/steps/LoSoTo.Reweight.cwl
index e8f027619f73bfe800559ab70e45a5a4cd512562..b0d274ff9d60be6619699fea3b08a77b26326889 100644
--- a/lofar-cwl/steps/LoSoTo.Reweight.cwl
+++ b/lofar-cwl/steps/LoSoTo.Reweight.cwl
@@ -33,7 +33,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Smooth.cwl b/lofar-cwl/steps/LoSoTo.Smooth.cwl
index 7f0d07e3186b46075b2523f97a1b094d96cdc6d3..f07e29e581b655b1ca098c7d15013e560d22a845 100644
--- a/lofar-cwl/steps/LoSoTo.Smooth.cwl
+++ b/lofar-cwl/steps/LoSoTo.Smooth.cwl
@@ -45,7 +45,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Splitleak.cwl b/lofar-cwl/steps/LoSoTo.Splitleak.cwl
index c29e1da65f87a3918bf812746a5ba0f1c836e764..27004fb432c37393000524bbe4a8cf1a7c5c95c6 100644
--- a/lofar-cwl/steps/LoSoTo.Splitleak.cwl
+++ b/lofar-cwl/steps/LoSoTo.Splitleak.cwl
@@ -30,7 +30,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/LoSoTo.Structure.cwl b/lofar-cwl/steps/LoSoTo.Structure.cwl
index 639a7e7da1695a70a0aff53486706d385848633d..e8ba30cac630b70d79499edf7bc20d9db594eaa1 100644
--- a/lofar-cwl/steps/LoSoTo.Structure.cwl
+++ b/lofar-cwl/steps/LoSoTo.Structure.cwl
@@ -33,7 +33,7 @@ arguments:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 inputs:
   - id: input_h5parm
diff --git a/lofar-cwl/steps/applybeam.cwl b/lofar-cwl/steps/applybeam.cwl
index a69a628f3326af0bd5d3adc4f21e471ae7623e9b..b2a1fb6b678cc6d63c6ebc384f21a4d56b222a22 100644
--- a/lofar-cwl/steps/applybeam.cwl
+++ b/lofar-cwl/steps/applybeam.cwl
@@ -97,4 +97,4 @@ requirements:
   - class: InlineJavascriptRequirement
 hints:
   - class: DockerRequirement
-    dockerPull: 'lofareosc/prefactor:HBAcalibrator'
+    dockerPull: 'lofareosc/prefactor3-cwl'
diff --git a/lofar-cwl/steps/applycal.cwl b/lofar-cwl/steps/applycal.cwl
index 08512d67d52e93d2529c4c6aabc1c0e7c0288490..1a0fa547154e818c29f47c3795a69838fae74c5a 100644
--- a/lofar-cwl/steps/applycal.cwl
+++ b/lofar-cwl/steps/applycal.cwl
@@ -87,4 +87,4 @@ requirements:
   - class: InlineJavascriptRequirement
 hints:
   - class: DockerRequirement
-    dockerPull: 'lofareosc/prefactor:HBAcalibrator'
+    dockerPull: 'lofareosc/prefactor3-cwl'
diff --git a/lofar-cwl/steps/applytarget.cwl b/lofar-cwl/steps/applytarget.cwl
index 8417a9f8cad6d0fad9cc04fcaa2a1fce7bfd4e18..33cee0a343f4ccb545220fd6945918c61b1b0e61 100644
--- a/lofar-cwl/steps/applytarget.cwl
+++ b/lofar-cwl/steps/applytarget.cwl
@@ -102,4 +102,4 @@ requirements:
   - class: InlineJavascriptRequirement
 hints:
   - class: DockerRequirement
-    dockerPull: 'lofareosc/prefactor:HBAcalibrator'
+    dockerPull: 'lofareosc/prefactor3-cwl'
diff --git a/lofar-cwl/steps/average.cwl b/lofar-cwl/steps/average.cwl
index ea43e98bf2d2a7ff97d055000f92c73f8e33fa43..deb8446669c6fbdd93d188fde54b64c6e82ca89c 100644
--- a/lofar-cwl/steps/average.cwl
+++ b/lofar-cwl/steps/average.cwl
@@ -92,6 +92,6 @@ requirements:
   - class: ShellCommandRequirement
 hints:
   - class: DockerRequirement
-    dockerPull: 'lofareosc/prefactor:HBAcalibrator'
+    dockerPull: 'lofareosc/prefactor3-cwl'
 stdout: average.log
 stderr: average_err.log
diff --git a/lofar-cwl/steps/calib_rot_diag.cwl b/lofar-cwl/steps/calib_rot_diag.cwl
index 577d2763849e3d4645cd8a8daecd48da2e666310..a167095c3825a2dcb64bf7c66f95e1991d35cdcc 100644
--- a/lofar-cwl/steps/calib_rot_diag.cwl
+++ b/lofar-cwl/steps/calib_rot_diag.cwl
@@ -100,7 +100,7 @@ arguments:
   - ddecal.usemodelcolumn=True
 hints:
   - class: DockerRequirement
-    dockerPull: 'lofareosc/prefactor:HBAcalibrator'
+    dockerPull: 'lofareosc/prefactor3-cwl'
 requirements:
   - class: InlineJavascriptRequirement
 $schema:
diff --git a/lofar-cwl/steps/ddecal.cwl b/lofar-cwl/steps/ddecal.cwl
index 81502a7d07d381872632b41263aebe81202d6b68..43ed10b9507b78c7c4724b959ec215589c6405d4 100644
--- a/lofar-cwl/steps/ddecal.cwl
+++ b/lofar-cwl/steps/ddecal.cwl
@@ -14,7 +14,7 @@ requirements:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 arguments:
   - steps=[ddecal,count]
diff --git a/lofar-cwl/steps/dpppconcat.cwl b/lofar-cwl/steps/dpppconcat.cwl
index 40d3f3e422ffd35b3ab8ec1a0dbd24c7ac006b02..8fe2290cb2b3b44cd48350a4db296fd96798d0bf 100644
--- a/lofar-cwl/steps/dpppconcat.cwl
+++ b/lofar-cwl/steps/dpppconcat.cwl
@@ -139,7 +139,7 @@ requirements:
       - { $include: 'utils.js' }
 hints:
   - class: DockerRequirement
-    dockerPull: 'lofareosc/prefactor:HBAcalibrator'
+    dockerPull: 'lofareosc/prefactor3-cwl'
   - class: InitialWorkDirRequirement
     listing:
       - entry: $(inputs.msin)
diff --git a/lofar-cwl/steps/filter_predict.cwl b/lofar-cwl/steps/filter_predict.cwl
index 35f9784364cc1150f8b59ccc6ea2c2e27a2a6426..64a39c072074d096e708fd5b78137bfe2ca0b9ab 100644
--- a/lofar-cwl/steps/filter_predict.cwl
+++ b/lofar-cwl/steps/filter_predict.cwl
@@ -113,6 +113,6 @@ requirements:
   - class: InlineJavascriptRequirement
 hints:
   - class: DockerRequirement
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 stdout: filter_predict.log
 stderr: filter_predict_err.log
\ No newline at end of file
diff --git a/lofar-cwl/steps/gaincal.cwl b/lofar-cwl/steps/gaincal.cwl
index 2479eeaea521748442a12a95fa902f061ef005fe..e749346fc737b1d2de4d5fbc07c9435edf1477dd 100644
--- a/lofar-cwl/steps/gaincal.cwl
+++ b/lofar-cwl/steps/gaincal.cwl
@@ -170,7 +170,7 @@ arguments:
   - 'steps=[filter,gaincal,count]'
 hints:
   - class: DockerRequirement
-    dockerPull: 'lofareosc/prefactor:HBAcalibrator'
+    dockerPull: 'lofareosc/prefactor3-cwl'
 requirements:
   - class: InitialWorkDirRequirement
     listing:
diff --git a/lofar-cwl/steps/interpolate_visibilities.cwl b/lofar-cwl/steps/interpolate_visibilities.cwl
index f59288857c81a6935fba6464f40c6be170af1f47..bc9a36ee54a9444d3c2f4c8d009bf4dc870f67bb 100644
--- a/lofar-cwl/steps/interpolate_visibilities.cwl
+++ b/lofar-cwl/steps/interpolate_visibilities.cwl
@@ -51,4 +51,4 @@ requirements:
   - class: InlineJavascriptRequirement
 hints:
   - class: DockerRequirement
-    dockerPull: 'lofareosc/prefactor:HBAcalibrator'
+    dockerPull: 'lofareosc/prefactor3-cwl'
diff --git a/lofar-cwl/steps/makesourcedb.cwl b/lofar-cwl/steps/makesourcedb.cwl
index 521981fa54ed3909c732f1112c9fb3816777b754..3a11c723cf4e08e39618dcf4cc060828227c5e94 100755
--- a/lofar-cwl/steps/makesourcedb.cwl
+++ b/lofar-cwl/steps/makesourcedb.cwl
@@ -58,7 +58,7 @@ outputs:
 label: make_sourcedb_ateam
 hints:
   - class: DockerRequirement
-    dockerPull: 'lofareosc/prefactor:HBAcalibrator'
+    dockerPull: 'lofareosc/prefactor3-cwl'
 stdout: $(inputs.logname)
 requirements:
   - class: InlineJavascriptRequirement
diff --git a/lofar-cwl/steps/ms_concat.cwl b/lofar-cwl/steps/ms_concat.cwl
index fc61241c1e26816e856bd3aa63a0473bff46cdf2..8258e62a9b9d49f77cf704f33033a8bff0de8f22 100644
--- a/lofar-cwl/steps/ms_concat.cwl
+++ b/lofar-cwl/steps/ms_concat.cwl
@@ -56,7 +56,7 @@ outputs:
 label: ms_concat
 hints:
   - class: DockerRequirement
-    dockerPull: 'lofareosc/prefactor:HBAcalibrator'
+    dockerPull: 'lofareosc/prefactor3-cwl'
 requirements:
   - class: ShellCommandRequirement
   - class: InitialWorkDirRequirement
diff --git a/lofar-cwl/steps/predict.cwl b/lofar-cwl/steps/predict.cwl
index d6ffc87dae6d561fcaee9d86211d2578ee81db07..fab5d2a548b4fd2be1f9f0e91ee50ef09d8bf8fb 100644
--- a/lofar-cwl/steps/predict.cwl
+++ b/lofar-cwl/steps/predict.cwl
@@ -93,6 +93,6 @@ requirements:
   - class: InlineJavascriptRequirement
 hints:
   - class: DockerRequirement
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 stdout: predict_cal.log
 stderr: predict_cal_err.log
\ No newline at end of file
diff --git a/lofar-cwl/steps/wsclean.cwl b/lofar-cwl/steps/wsclean.cwl
index 96b56e937468bbd44f275656a4ab9510eb8ba828..bd07094507da39c52268eb3c10f739df132f8f2c 100644
--- a/lofar-cwl/steps/wsclean.cwl
+++ b/lofar-cwl/steps/wsclean.cwl
@@ -187,7 +187,7 @@ outputs:
 label: WSClean
 hints:
   - class: DockerRequirement
-    dockerPull: 'lofareosc/prefactor:HBAcalibrator'
+    dockerPull: 'lofareosc/prefactor3-cwl'
   - class: InitialWorkDirRequirement
     listing:
       - $(inputs.msin)
diff --git a/steps/add_missing_stations.cwl b/steps/add_missing_stations.cwl
index d2258e1771c70c2055aaf01b9b0ead31285cc0ae..18627726693a3099b6d791ccc75f6d035088b23d 100644
--- a/steps/add_missing_stations.cwl
+++ b/steps/add_missing_stations.cwl
@@ -78,7 +78,7 @@ stderr: add_missing_stations_err.log
 label: add_missing_stations
 hints:
   - class: DockerRequirement
-    dockerPull: 'lofareosc/prefactor:HBAcalibrator'
+    dockerPull: 'lofareosc/prefactor3-cwl'
 requirements:
   - class: InlineJavascriptRequirement
   - class: InitialWorkDirRequirement
diff --git a/steps/aoflag.cwl b/steps/aoflag.cwl
index ca335291b368aea3eefc38c77aa2f4d52f36ed19..d93d2bd61c7af6b844a742712faeb71152b01c49 100644
--- a/steps/aoflag.cwl
+++ b/steps/aoflag.cwl
@@ -6,7 +6,7 @@ id: aoflagger
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 
 baseCommand:
 #  - aoflagger
diff --git a/steps/blsmooth.cwl b/steps/blsmooth.cwl
index 47d6c59a1af6a835f6ff6e3bb0d1c467f31e1ce3..0bda55d69de87f396daddb8eb7f1ef08dedcc345 100644
--- a/steps/blsmooth.cwl
+++ b/steps/blsmooth.cwl
@@ -88,7 +88,7 @@ outputs:
       glob: BLsmooth.log
 hints:
  - class: DockerRequirement
-   dockerPull: lofareosc/prefactor:HBAcalibrator
+   dockerPull: lofareosc/prefactor3-cwl
 requirements:
  - class: InitialWorkDirRequirement
    listing:
diff --git a/steps/check_ateam_separation.cwl b/steps/check_ateam_separation.cwl
index c8d801c94a6e32aac1ea6ba83a8d2687448baf22..699cbdab31f6ce892854dcd9e144b50074ea71db 100644
--- a/steps/check_ateam_separation.cwl
+++ b/steps/check_ateam_separation.cwl
@@ -37,6 +37,6 @@ outputs:
 label: check_Ateam_separation
 hints:
   - class: DockerRequirement
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
   - class: InlineJavascriptRequirement
 stdout: Ateam_separation.log
diff --git a/steps/check_unflagged_fraction.cwl b/steps/check_unflagged_fraction.cwl
index 0a42b9ff12519530c2abf7c49d1479d8be50ec95..5790c430dfe0436020c7607baf153fd9454c01c4 100644
--- a/steps/check_unflagged_fraction.cwl
+++ b/steps/check_unflagged_fraction.cwl
@@ -69,6 +69,6 @@ requirements:
 
 hints:
   - class: DockerRequirement
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 stdout: check_unflagged_fraction.log
 stderr: check_unflagged_fraction_err.log
\ No newline at end of file
diff --git a/steps/compare_station_list.cwl b/steps/compare_station_list.cwl
index 21e18c5f8aeec2430e1ebbd850a297d69575c5c0..7c1b5414e3e458085657a98ddfd455fcb0a0ce2d 100644
--- a/steps/compare_station_list.cwl
+++ b/steps/compare_station_list.cwl
@@ -60,6 +60,6 @@ requirements:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 stdout: compareStationList.log
 stderr: compareStationList_err.log
\ No newline at end of file
diff --git a/steps/createRMh5parm.cwl b/steps/createRMh5parm.cwl
index d79ceaa783f93cf1dee382d2c398319b5f5ed019..d73f62816835f2b0de6e1e24981e8d2194bc7c93 100644
--- a/steps/createRMh5parm.cwl
+++ b/steps/createRMh5parm.cwl
@@ -109,7 +109,7 @@ outputs:
       glob: 'createh5parm*.log'
 hints:
  - class: DockerRequirement
-   dockerPull: lofareosc/prefactor:HBAcalibrator
+   dockerPull: lofareosc/prefactor3-cwl
  - class: InitialWorkDirRequirement
    listing:
      - entry: $(inputs.h5parm)
diff --git a/steps/findRefAnt.cwl b/steps/findRefAnt.cwl
index e6562e0f61183e65d7046c146915940877264a61..d4544091d58cb7c982648708896b780b282fdbfd 100644
--- a/steps/findRefAnt.cwl
+++ b/steps/findRefAnt.cwl
@@ -49,6 +49,6 @@ requirements:
         writable: true
 hints:
   - class: DockerRequirement
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 stdout: findRefAnt.log
 stderr: findRefAnt_err.log
\ No newline at end of file
diff --git a/steps/find_skymodel_cal.cwl b/steps/find_skymodel_cal.cwl
index e5ad659adf3b0cac71d1247bf32c018df6c93186..7ee4e7efc4f04a475956b5339a96113511889fa4 100644
--- a/steps/find_skymodel_cal.cwl
+++ b/steps/find_skymodel_cal.cwl
@@ -92,5 +92,5 @@ requirements:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 stdout: find_skymodel_cal.log
diff --git a/steps/find_skymodel_target.cwl b/steps/find_skymodel_target.cwl
index 36191f1c6d89c1fa6240eb81698c211f4c8f481b..fcc32d18a0856d0c1ce79689bd0f7717b9288ac8 100644
--- a/steps/find_skymodel_target.cwl
+++ b/steps/find_skymodel_target.cwl
@@ -70,5 +70,5 @@ requirements:
 
 hints:
   DockerRequirement:
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 stdout: find_skymodel_target.log
\ No newline at end of file
diff --git a/steps/get_targetname.cwl b/steps/get_targetname.cwl
index 9c999be81045fae929190a57bcb4ce20ebb009ae..0bfa0572d6301eb6c84c95b0adbb16fc5d6520ae 100644
--- a/steps/get_targetname.cwl
+++ b/steps/get_targetname.cwl
@@ -50,6 +50,6 @@ requirements:
         writable: true
 hints:
   - class: DockerRequirement
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 stdout: get_targetname.log
 stderr: get_targetname_err.log
diff --git a/steps/h5parm_pointingname.cwl b/steps/h5parm_pointingname.cwl
index 30ecb0cf1940c57d0b9fae3167980bf646a68f96..81e2fedd7df8b065f369a1464651ae87502f507d 100644
--- a/steps/h5parm_pointingname.cwl
+++ b/steps/h5parm_pointingname.cwl
@@ -48,7 +48,7 @@ requirements:
   - class: InlineJavascriptRequirement
 hints:
   - class: DockerRequirement
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 stdout: h5parm_pointingname.log
 stderr: h5parm_pointingname_err.log
 $schema:
diff --git a/steps/h5parmcat.cwl b/steps/h5parmcat.cwl
index 2770fc827f22878db2d626da6f0ff81fa6189535..fdf076b5e1956db9aeb63fff012c102b5c1e0899 100644
--- a/steps/h5parmcat.cwl
+++ b/steps/h5parmcat.cwl
@@ -89,7 +89,7 @@ requirements:
   - class: InlineJavascriptRequirement
 hints:
   - class: DockerRequirement
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 stdout: h5parm_collector_output.log
 stderr: h5parm_collector_output_err.log
 $schema:
diff --git a/steps/identify_bad_antennas.cwl b/steps/identify_bad_antennas.cwl
index 0fa09ff11bd4a10d481a196c4fd3441d37ca8b6e..1a2409abcd9236456fee5e0d7e81e62143670a28 100644
--- a/steps/identify_bad_antennas.cwl
+++ b/steps/identify_bad_antennas.cwl
@@ -50,6 +50,6 @@ requirements:
         writable: true
 hints:
   - class: DockerRequirement
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 stdout: identifyBadAntennas.log
 stderr: identifyBadAntennas_err.log
\ No newline at end of file
diff --git a/steps/plot_Ateamclipper.cwl b/steps/plot_Ateamclipper.cwl
index 6d5f88253ec404b3418b2e5934ce7b3240d8be7b..9b019713580b0f0e61c2587f162112b5d218667f 100644
--- a/steps/plot_Ateamclipper.cwl
+++ b/steps/plot_Ateamclipper.cwl
@@ -25,4 +25,4 @@ outputs:
 label: plot_Ateamclipper
 hints:
   - class: DockerRequirement
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
diff --git a/steps/plot_unflagged.cwl b/steps/plot_unflagged.cwl
index 290636c556f95452422d22151eee4620996094dc..48047a01e3961438155ace02311eddc850308039 100644
--- a/steps/plot_unflagged.cwl
+++ b/steps/plot_unflagged.cwl
@@ -45,7 +45,7 @@ outputs:
     
 hints:
   - class: DockerRequirement
-    dockerPull: 'lofareosc/prefactor:HBAcalibrator'
+    dockerPull: 'lofareosc/prefactor3-cwl'
 requirements:
   - class: InlineJavascriptRequirement
 stdout: plot_unflagged_fraction.log
diff --git a/steps/sort_times_into_freqGroups.cwl b/steps/sort_times_into_freqGroups.cwl
index 3b6ebf150459f1502d086ab367be30e8c97d2090..3c3c14f835a78e9e4bc6f52fc8787eb8cb24de6a 100644
--- a/steps/sort_times_into_freqGroups.cwl
+++ b/steps/sort_times_into_freqGroups.cwl
@@ -98,5 +98,5 @@ requirements:
 
 hints:
   - class: DockerRequirement
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 stdout: sort_times_into_freqGroups.log
\ No newline at end of file
diff --git a/steps/structure_function.cwl b/steps/structure_function.cwl
index 434d75f0513a3a4b421f9624bb0c4078382728e3..3ae8620f64493da2927b335851f6851024b2febd 100644
--- a/steps/structure_function.cwl
+++ b/steps/structure_function.cwl
@@ -55,7 +55,7 @@ requirements:
   - class: InlineJavascriptRequirement
 hints:
   - class: DockerRequirement
-    dockerPull: lofareosc/prefactor:HBAcalibrator
+    dockerPull: lofareosc/prefactor3-cwl
 stdout: structure_function.log
 stderr: structure_function_err.log
 $schema:
diff --git a/steps/transfer_solutions.cwl b/steps/transfer_solutions.cwl
index 65c53c38ecbba0571375672e7e211368b14730ff..7b5298d0f97f6ac729b94ba254985e0f4e4361bf 100644
--- a/steps/transfer_solutions.cwl
+++ b/steps/transfer_solutions.cwl
@@ -95,7 +95,7 @@ stderr: transfer_solutions_err.log
 label: transfer_solutions
 hints:
   - class: DockerRequirement
-    dockerPull: 'lofareosc/prefactor:HBAcalibrator'
+    dockerPull: 'lofareosc/prefactor3-cwl'
 requirements:
   - class: InlineJavascriptRequirement
   - class: InitialWorkDirRequirement