diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0b99ee9f10ad5cf948202d1b84ad90ab6ff162a3..9d942088effa0416e62dc05eb56e7ab076ff2177 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -70,7 +70,7 @@ run_hba_calibrator:
   allow_failure: true
   needs: ["download_data"]
   script:
-    - cwltool --no-container --preserve-environment LD_LIBRARY_PATH --preserve-environment PATH --preserve-environment PYTHONPATH workflows/HBA_calibrator.cwl test_jobs/HBA_calibrator.json
+    - cwltool --no-container --preserve-environment LD_LIBRARY_PATH --preserve-environment PATH --preserve-environment PYTHONPATH --outdir results workflows/HBA_calibrator.cwl test_jobs/HBA_calibrator.json
     - test_jobs/check_workflow_results.py results /builds/eosc/prefactor3-cwl/data/results_calibrator
 
 run_hba_target:
@@ -78,7 +78,7 @@ run_hba_target:
   allow_failure: true
   needs: ["download_data"]
   script:
-    - cwltool --no-container --preserve-environment LD_LIBRARY_PATH --preserve-environment PATH --preserve-environment PYTHONPATH workflows/HBA_target.cwl test_jobs/HBA_target.json
+    - cwltool --no-container --preserve-environment LD_LIBRARY_PATH --preserve-environment PATH --preserve-environment PYTHONPATH --outdir results workflows/HBA_target.cwl test_jobs/HBA_target.json
     - test_jobs/check_workflow_results.py results /builds/eosc/prefactor3-cwl/data/results_target
 
 build-doc:
diff --git a/README.md b/README.md
index cd054be2705cd06c20a8ba8551fad0c1def5226c..28f8984f278395d3b0b77ab3c60692c296b086ff 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,92 @@
-# Prefactor3-CWL
+# prefactor
+## The LOFAR pre-facet calibration pipeline
 
-This is a CWL implementation of the Prefactor 3 pipeline, which lives at https://github.com/lofar-astron/prefactor.
+**prefactor** is a pipeline to correct for various instrumental and ionospheric effects in both **LOFAR HBA** and **LOFAR LBA** observations.
+It will prepare your data so that you will be able to use any direction-dependent calibration software, like [Rapthor](https://github.com/darafferty/rapthor), [factor](https://github.com/lofar-astron/factor), or [killMS](https://github.com/saopicc/killMS/).
 
+It includes:
+* removal of clock offsets between core and remote stations (using clock-TEC separation)
+* correction of the polarization alignment between XX and YY
+* robust time-independent bandpass correction
+* ionospheric RM corrections with [RMextract](https://github.com/lofar-astron/RMextract/)
+* removal of the element beam
+* advanced flagging and removal of bad data
+* mitigation of broad-band RFI and bad stations
+* direction-independent phase correction of the target, using a global sky model from [TGSS ADR](https://http://tgssadr.strw.leidenuniv.nl/)  or the new Global Sky Model [GSM](http://172.104.228.177/)
+* detailled diagnostics
+
+The full documentation can be found at the [prefactor webpage](https://www.astron.nl/citt/prefactor/).
+
+**WARNING**: The current skymodel used for 3C295 is not using the Scaife&Heald flux density scale.
+
+### Software requirements
+* [DP3](https://github.com/lofar-astron/DP3) (v5.1 or later)
+* [LoSoTo](https://github.com/revoltek/losoto) (v2.2.1 or later)
+* [LSMTool](https://github.com/darafferty/LSMTool) (v1.4.3 or later)
+* [EveryBeam](https://git.astron.nl/RD/EveryBeam) (v0.2.0 or later)
+* [RMextract](https://github.com/maaijke/RMextract) (v0.4.4 or later)
+* [AOFlagger](https://gitlab.com/aroffringa/aoflagger) (v3.1 or later)
+* [WSClean](https://gitlab.com/aroffringa/wsclean) (v3.0 or later)
+* [IDG](https://gitlab.com/astron-idg/idg) (v0.8 or later)
+* [LofarStMan](https://github.com/lofar-astron/LofarStMan)
+* [Dysco](https://github.com/aroffringa/dysco.git) (v1.2 or later)
+* casacore
+* Python3 (including matplotlib, scipy, and astropy)
+* [cwltool](https://github.com/common-workflow-language/cwltool) or [toil-cwl-runner](https://github.com/DataBiosphere/toil)
+
+### Installation
+Detailled installation instructions for prefactor are available at the [prefactor documentation](https://www.astron.nl/citt/prefactor/installation.html).
+
+It is recommended to use [Docker](https://docs.docker.com/engine/install/ubuntu/) or [Singularity](https://sylabs.io/guides/3.0/user-guide/installation.html) for the use of software containers.
+
+To download and install the repository run the following commands:
+
+    git clone https://git.astron.nl/eosc/prefactor3-cwl.git prefactor --depth 1
+    cd prefactor
+    pip3 install --upgrade $PWD
+
+### Running prefactor
+Instructions how to [setup](https://www.astron.nl/citt/prefactor/parset.html) and [run](https://www.astron.nl/citt/prefactor/running.html) prefactor are also available at the prefactor documentation.
+
+### Directory structure
+prefactor contains the following sub-directories:
+* **Docker**: contains the Dockerfile for creating the Docker image which contains all necessary software packages
+* **docs**: contains the documentation for prefactor
+* **rfistrategies**: strategies for statistical RFI mitigation using [AOFlagger](https://sourceforge.net/p/aoflagger/wiki/Home/)
+* **scripts**: scripts that the pipeline calls to process data, generate plots, etc.
+* **skymodels**: skymodels that are used by the pipeline (e.g. for demixing or calibrating the calibrator)
+* **solutions**: template solutions for the use of non-supported calibrator sources
+* **steps**: steps of the pipeline described in the [Common Workflow Language (CWL)](https://www.commonwl.org/)
+* **test_jobs**: descriptions for running continouos integration (CI)
+* **workflows**: pipeline workflow desriptions in the [Common Workflow Language (CWL)](https://www.commonwl.org/)
+
+**prefactor** and its scripts were developed by:
+* Alexander Drabent
+* David Rafferty
+* Mattia Mancini
+* Marcel Loose
+* Andreas Horneffer
+* Francesco de Gasperin
+* Marco Iacobelli
+* Emanuela Orru
+* Björn Adebahr
+* Martin Hardcastle
+* George Heald
+* Soumyajit Mandal
+* Carole Roskowinski
+* Jose Sabater Montes
+* Timothy Shimwell
+* Sarrvesh Sridhar
+* Reinout van Weeren
+* Wendy Williams
+
+### Acknowledgements
 <img src="https://www.egi.eu/wp-content/uploads/2020/01/eu-logo.jpeg" alt="EU Flag" width="80">
 <img src="https://www.egi.eu/wp-content/uploads/2020/01/eosc-hub-v-web.png" alt="EOSC-hub logo" height="60">
-This work is co-funded by the EOSC-hub project (Horizon 2020) under Grant number 777536. 
+This work is co-funded by the EOSC-hub project (Horizon 2020) under Grant number 777536.
+
+This work was supported by the BMBF Verbundforschung under the grant 05A20STA.
+
+
+The Prefactor procedure is described in this paper:
+* de Gasperin, F.; Dijkema, T. J.; Drabent, A.; Mevius, M.; Rafferty, van Weeren, R., et al. 2019, [A&A, 662, A5](http://adsabs.harvard.edu/abs/2018arXiv181107954D)
diff --git a/docs/source/calibrator.rst b/docs/source/calibrator.rst
index 5491e2e6f830a180940a86bca6bb3c0074aeaa45..34fd5720c99fb4bb313bbc1ff8b5c079b283ecd6 100644
--- a/docs/source/calibrator.rst
+++ b/docs/source/calibrator.rst
@@ -5,7 +5,7 @@ Calibrator pipeline
 
 .. note::
 
-   If you are running the deprecated genericpipeline version of the pipeline (**prefactor** 3.2 or older), please check the :doc:`old instrunctions page<calibrator_old>`.
+   If you are running the deprecated genericpipeline version of the pipeline (**prefactor** 3.2 or older), please check the :doc:`old instructions page<calibrator_old>`.
 
 This pipeline processes the calibrator data in order to derive direction-independent corrections.
 It will take into account the correct order of distortions to be calibrated for.
@@ -48,7 +48,7 @@ The workflow ``prep`` consists of:
 Calibration of the polarization alignment (``PA``)
 --------------------------------------------------
 The phase solutions derived from the preparation step are now collected and loaded into **LoSoTo**.
-**LoSoTo** will derive the polarizion alignment and provide diagnostic plots under ``results/inspection/``:
+**LoSoTo** will derive the polarizion alignment and provide diagnostic plots under ``inspection/``:
 
 - ``polalign_ph_pol??``: matrix plot of the phase solutions for the XX and YY polarization
     .. image:: polalign_ph_polXX.png
@@ -127,24 +127,24 @@ The workflow ``ion`` consists of:
 .. note::
     All solutions are written in the h5parm file format via the steps ``H5parm_collector`` and called during all the workflows.
     
-    The solutions are stored in the final calibrator solution set ``results/cal_values/cal_solutions.h5``.
+    The solutions are stored in the final calibrator solution set ``cal_solutions.h5``.
 
 Further diagnostics
 -------------------
 
-The ``results`` directory will contain all relevant outputs of the current **prefactor** run, once the pipeline has finished:
-    - logfiles in ``results/logs``
-    - summary file (JSON format) in ``results/summary``
-    - calibration solutions in ``results/cal_values/cal_solutions.h5``
-    - inspection plots in ``results/inspection``
+The results directory will contain all relevant outputs of the current **prefactor** run, once the pipeline has finished:
+    - logfiles in ``logs``
+    - summary file (JSON format) in ``??_prefactor_calibrator_summary.json``
+    - calibration solutions in ``cal_solutions.h5``
+    - inspection plots in ``inspection``
 
 ``Ateam_separation.png`` shows the distance and the elevation of A-Team sources with respect to the analyzed observation.
 
 You can also check the calibration solutions for more details::
 
-    $ losoto -i results/cal_values/cal_solutions.h5
+    $ losoto -i cal_solutions.h5
     
-    Summary of results/cal_values/cal_solutions.h5
+    Summary of cal_solutions.h5
 
     Solution set 'calibrator':
     ==========================
@@ -181,7 +181,7 @@ You can also check the calibration solutions for more details::
 
 For an overall summary it is advised to check the summary logfile::
 
-    $ cat results/logs/3c286_summary.log
+    $ cat logs/3c286_summary.log
     
     *********************************************
     *** prefactor calibrator pipeline summary ***
diff --git a/docs/source/calibrator_old.rst b/docs/source/calibrator_old.rst
index 305554f9aa0f3c7d5c5ab78b14e97091c9d4bd4c..5a51ba088287ef8e84f3cbae22aa3dcdf8affe97 100644
--- a/docs/source/calibrator_old.rst
+++ b/docs/source/calibrator_old.rst
@@ -5,7 +5,7 @@ Calibrator pipeline
 
 .. note::
 
-   These instructions are outdated and only valid for **prefactor** 3.2 or older. Please check the :doc:`recent instrunctions page<calibrator>`.
+   These instructions are outdated and only valid for **prefactor** 3.2 or older. Please check the :doc:`recent instructions page<calibrator>`.
 
 
 This pipeline processes the calibrator data in order to derive direction-independent corrections.
diff --git a/docs/source/parset.rst b/docs/source/parset.rst
index 1b77b6911fd7f5b3789fbf632f85b28da6bb3dbb..cf6a442ede78f7aed06256fa22df501ae57d503c 100644
--- a/docs/source/parset.rst
+++ b/docs/source/parset.rst
@@ -4,7 +4,7 @@ Configuring prefactor
 =====================
 .. note::
 
-   If you are running the deprecated genericpipeline version of the pipeline (**prefactor** 3.2 or older), please check the :doc:`old instrunctions page<parset_old>`.
+   If you are running the deprecated genericpipeline version of the pipeline (**prefactor** 3.2 or older), please check the :doc:`old instructions page<parset_old>`.
     
 Preparing the configuration file
 --------------------------------
@@ -114,7 +114,7 @@ If you run the target pipeline you also need to provide the calibrator solution
                     {"class": "Directory", "path": "?????/L228163_SB008_uv.dppp.MS"},
                     {"class": "Directory", "path": "?????/L228163_SB009_uv.dppp.MS"}
                 ],
-        "cal_solutions": {"class": "File", "path": "results/cal_values/cal_solutions.h5"}
+        "cal_solutions": {"class": "File", "path": "cal_solutions.h5"}
     }
 
 A detailed description of the input parameters can be found in the :doc:`calibrator` and :doc:`target` section.
diff --git a/docs/source/parset_old.rst b/docs/source/parset_old.rst
index 242c6f0335d27439174be8b37f74428c94ca2a75..7aa9f5757bdfffdb08a7f80ab1c24ed4c6d3160f 100644
--- a/docs/source/parset_old.rst
+++ b/docs/source/parset_old.rst
@@ -4,7 +4,7 @@ Configuring prefactor
 =====================
 .. note::
 
-   These instructions are outdated and only valid for **prefactor** 3.2 or older. Please check the :doc:`recent instrunctions page<parset>`.
+   These instructions are outdated and only valid for **prefactor** 3.2 or older. Please check the :doc:`recent instructions page<parset>`.
    
 Preparing the configuration file
 --------------------------------
diff --git a/docs/source/pipelineoverview.rst b/docs/source/pipelineoverview.rst
index e2947afe1f9de2a13283d545c46caab86ebb8c98..d38a4a7e6a0bca2f4812edf54c5b924eeef85bf9 100644
--- a/docs/source/pipelineoverview.rst
+++ b/docs/source/pipelineoverview.rst
@@ -4,7 +4,7 @@ Pipeline overview
 =================
 .. note::
 
-   If you are running the deprecated genericpipeline version of the pipeline (**prefactor** 3.2 or older), please check the :doc:`old instrunctions page<pipelineoverview_old>`.
+   If you are running the deprecated genericpipeline version of the pipeline (**prefactor** 3.2 or older), please check the :doc:`old instructions page<pipelineoverview_old>`.
 
 **Prefactor** is organized in three major parts to process **LOFAR** data:
 
diff --git a/docs/source/pipelineoverview_old.rst b/docs/source/pipelineoverview_old.rst
index 23fcdd858aa0075e2ee672b5dda4281fc9607adb..074e276b32599de30aaa1ceb40802e5f761386fc 100644
--- a/docs/source/pipelineoverview_old.rst
+++ b/docs/source/pipelineoverview_old.rst
@@ -5,7 +5,7 @@ Pipeline overview
 
 .. note::
 
-   These instructions are outdated and only valid for **prefactor** 3.2 or older. Please check the :doc:`recent instrunctions page<pipelineoverview>`.
+   These instructions are outdated and only valid for **prefactor** 3.2 or older. Please check the :doc:`recent instructions page<pipelineoverview>`.
 
 **Prefactor** is organized in three major parts to process **LOFAR** data:
 
diff --git a/docs/source/running.rst b/docs/source/running.rst
index c66cec5cbe6ddb3e3b6c42704c1906eeeb9d8230..c31de4af3675a1afb3dec3d0721fc77e168f7645 100644
--- a/docs/source/running.rst
+++ b/docs/source/running.rst
@@ -5,7 +5,7 @@ Starting a pipeline
 
 .. note::
 
-   If you are running the deprecated genericpipeline version of the pipeline (**prefactor** 3.2 or older), please check the :doc:`old instrunctions page<running_old>`.
+   If you are running the deprecated genericpipeline version of the pipeline (**prefactor** 3.2 or older), please check the :doc:`old instructions page<running_old>`.
 
 
 Once you have the data and the input JSON file ready, you can run the pipeline, e.g., with ``cwltool`` or ``toil`` for the HBA calibrator pipeline::
diff --git a/docs/source/running_old.rst b/docs/source/running_old.rst
index b3d6f007fc37e978993b6613fe1b4b8a8327aa24..ed08be45ec4b32755711f1f7b6b8bd097260d75f 100644
--- a/docs/source/running_old.rst
+++ b/docs/source/running_old.rst
@@ -4,7 +4,7 @@ Starting a pipeline
 
 .. note::
 
-   These instructions are outdated and only valid for **prefactor** 3.2 or older. Please check the :doc:`recent instrunctions page<running>`.
+   These instructions are outdated and only valid for **prefactor** 3.2 or older. Please check the :doc:`recent instructions page<running>`.
 
 
 Once you have the data and the parsets ready, you can run the pipeline using the
diff --git a/docs/source/target.rst b/docs/source/target.rst
index 21d49bf90de405eb701cef9b538314c8e655003e..45f7b5674c45abbaf7ab7867b4b734a2fe68b031 100644
--- a/docs/source/target.rst
+++ b/docs/source/target.rst
@@ -5,7 +5,7 @@ Target pipeline
 
 .. note::
 
-   If you are running the deprecated genericpipeline version of the pipeline (**prefactor** 3.2 or older), please check the :doc:`old instrunctions page<target_old>`.
+   If you are running the deprecated genericpipeline version of the pipeline (**prefactor** 3.2 or older), please check the :doc:`old instructions page<target_old>`.
 
 This pipeline processes the target data in order to apply the direction-independent corrections from the calibrator pipeline. A first initial direction-independent self-calibration of the target field is performed, using a global sky model based on the `TGSS ADR`_ or the new `Global Sky Model`_ (GSM), and applied to the data.
 
@@ -89,18 +89,18 @@ The last step also incorporates full `Dysco`_ compression to save disk space. Th
 
 .. note::
     All solutions are written in the h5parm file format via the steps ``H5parm_collector`` and called during all the workflows.
-
-    The solutions are stored in the final calibrator solution set ``results/cal_values/cal_solutions.h5``.
+    
+    The solutions are stored in the final calibrator solution set ``cal_solutions.h5``.
 
 Further diagnostics
 -------------------
 
-The ``results`` directory will contain all relevant outputs of the current **prefactor** run, once the pipeline has finished:
-    - fully calibrated datasets, concatenated with ``num_SBs_per_group`` subbands per MS file and averaged, if desired (see averaging options below). The DATA column of each MS contains the calibrated data (with the direction-independent solutions applied).
-    - logfiles in ``results/logs``
-    - summary file (JSON format) in ``results/summary``
-    - calibration solutions in ``results/cal_values/cal_solutions.h5``
-    - inspection plots in ``results/inspection``
+The output directory will contain all relevant outputs of the current **prefactor** run, once the pipeline has finished:
+    - fully calibrated datasets in ``results``, concatenated with ``num_SBs_per_group`` subbands per MS file and averaged, if desired (see averaging options below). The DATA column of each MS contains the calibrated data (with the direction-independent solutions applied).
+    - logfiles in ``logs``
+    - summary file (JSON format) in ``??_prefactor_target_summary.json``
+    - calibration solutions in ``cal_solutions.h5``
+    - inspection plots in ``inspection``
 
 The following diagnostic help to assess the quality of the data reduction:
     - ``Ateam_separation.png``: shows the distance and the elevation of A-Team sources with respect to the analyzed observation
@@ -120,9 +120,10 @@ The following diagnostic help to assess the quality of the data reduction:
 
 You can also check the calibration solutions for more details::
 
-    $ losoto -i results/cal_values/cal_solutions.h5
+    $ losoto -i cal_solutions.h5
+    
+    Summary of cal_solutions.h5
 
-    Summary of results/cal_values/cal_solutions.h5
 
     Solution set 'calibrator':
     ==========================
@@ -188,8 +189,8 @@ You can also check the calibration solutions for more details::
 
 For an overall summary it is advised to check the summary logfile::
 
-    $ cat results/logs/???_summary.log
-
+    $ cat logs/???_summary.log
+    
     *****************************************
     *** prefactor target pipeline summary ***
     *****************************************
diff --git a/docs/source/target_old.rst b/docs/source/target_old.rst
index 68d48329bde612fe57627bb06a6f2c2a27b1620e..9145403e05ce60421fcdb3c452e51517bdb0c020 100644
--- a/docs/source/target_old.rst
+++ b/docs/source/target_old.rst
@@ -5,7 +5,7 @@ Target pipeline
 
 .. note::
 
-   These instructions are outdated and only valid for **prefactor** 3.2 or older. Please check the :doc:`recent instrunctions page<target>`.
+   These instructions are outdated and only valid for **prefactor** 3.2 or older. Please check the :doc:`recent instructions page<target>`.
 
 
 This pipeline processes the target data in order to apply the direction-independent corrections from the calibrator pipeline (line 26). A first initial direction-independent self-calibration of the target field is performed, using a global sky model based on the `TGSS ADR`_ or the new Global Sky Model (GSM), and applied to the data.
diff --git a/steps/collectlog.cwl b/steps/collectfiles.cwl
similarity index 89%
rename from steps/collectlog.cwl
rename to steps/collectfiles.cwl
index 40c78c211ce99ba9cd6fd3eca20635216ae46386..c929ccef1d9cceab075c900acb54f7e89ef36734 100644
--- a/steps/collectlog.cwl
+++ b/steps/collectfiles.cwl
@@ -1,13 +1,13 @@
 class: CommandLineTool
 cwlVersion: v1.2
-id: collectlog
+id: collectfiles
 baseCommand:
   - bash
-  - collect_logs.sh
+  - collect_files.sh
 inputs:
   - id: start_directory
     type: Directory?
-  - id: log_files
+  - id: files
     type:
       - File
       - type: array
@@ -19,16 +19,16 @@ inputs:
   - id: sub_directory_name
     type: string
 outputs: 
-  - id: log_dir
+  - id: dir
     type: Directory
     outputBinding:
         glob: |
           $(inputs.start_directory === null ? inputs.sub_directory_name: inputs.start_directory.basename)
-label: CollectLog
+label: CollectFiles
 requirements:
   - class: InitialWorkDirRequirement
     listing:
-      - entryname: collect_logs.sh
+      - entryname: collect_files.sh
         entry: |
           #!/bin/bash
           set -e
diff --git a/test_jobs/HBA_target.json b/test_jobs/HBA_target.json
index 30777f0ce2576e9822a7fa7f79730840e08209ea..24fdcf26bc485a56b22a99e54bb1e4a62ed61ec4 100644
--- a/test_jobs/HBA_target.json
+++ b/test_jobs/HBA_target.json
@@ -85,7 +85,7 @@
     "ncores": 12,
     "cal_solutions": {
         "class": "File",
-        "path": "/builds/eosc/prefactor3-cwl/data/results_calibrator/cal_values/cal_solutions.h5"
+        "path": "/builds/eosc/prefactor3-cwl/data/results_calibrator/cal_solutions.h5"
     },
     "A-Team_skymodel": {
         "class": "File",
diff --git a/test_jobs/check_workflow_results.py b/test_jobs/check_workflow_results.py
index e9dab56d1e93edb5e841bf75145576af6311d456..844997ff5d2c81495572c1ac83dbb6a3864ea033 100755
--- a/test_jobs/check_workflow_results.py
+++ b/test_jobs/check_workflow_results.py
@@ -8,6 +8,7 @@ from filecmp import dircmp
 import h5py
 import sys
 import numpy as np
+import os
 
 
 def check_all_files_present(dcmp, leftname='left', rightname='right'):
@@ -62,8 +63,8 @@ def main(check, control):
     if not all_present:
         error = True
 
-    check_path = check + '/cal_values/cal_solutions.h5'
-    control_path = control + '/cal_values/cal_solutions.h5'
+    check_path = os.path.join(check, 'cal_solutions.h5')
+    control_path = os.path.join(control, 'cal_solutions.h5')
     check_h5 = h5py.File(check_path, 'r')
     control_h5 = h5py.File(control_path, 'r')
 
diff --git a/workflows/HBA_calibrator.cwl b/workflows/HBA_calibrator.cwl
index 044e63712ee12a0d674c45f87c14a4a8657d1768..258a99bd1ffb0879c7aa67e4b5313505263595de 100644
--- a/workflows/HBA_calibrator.cwl
+++ b/workflows/HBA_calibrator.cwl
@@ -121,10 +121,22 @@ inputs:
     type: string?
     default: 195.3125kHz
 outputs:
-  - id: results
+  - id: log_files
     outputSource:
-      - save_results/log_dir
+      - save_logfiles/dir
     type: Directory
+  - id: inspection_plots
+    outputSource:
+      - save_inspection/dir
+    type: Directory
+  - id: summary
+    outputSource:
+      - prefactor/summary_file
+    type: File
+  - id: solutions
+    outputSource:
+      - prefactor/solutions
+    type: File
 steps:
   - id: prefactor
     in:
@@ -219,65 +231,28 @@ steps:
     label: prefactor_calibrator
   - id: save_logfiles
     in:
-      - id: log_files
+      - id: files
         linkMerge: merge_flattened
         source:
           - prefactor/logfiles
       - id: sub_directory_name
         default: logs
     out:
-      - id: log_dir
-    run: ./../steps/collectlog.cwl
+      - id: dir
+    run: ./../steps/collectfiles.cwl
     label: save_logfiles
   - id: save_inspection
     in:
-      - id: log_files
+      - id: files
         linkMerge: merge_flattened
         source:
           - prefactor/inspection
       - id: sub_directory_name
         default: inspection
     out:
-      - id: log_dir
-    run: ./../steps/collectlog.cwl
+      - id: dir
+    run: ./../steps/collectfiles.cwl
     label: save_inspection
-  - id: save_solutions
-    in:
-      - id: log_files
-        source:
-          - prefactor/solutions
-      - id: sub_directory_name
-        default: cal_values
-    out:
-      - id: log_dir
-    run: ./../steps/collectlog.cwl
-    label: save_solutions
-  - id: save_summary
-    in:
-      - id: log_files
-        source:
-          - prefactor/summary_file
-      - id: sub_directory_name
-        default: summary
-    out:
-      - id: log_dir
-    run: ./../steps/collectlog.cwl
-    label: save_summary
-  - id: save_results
-    in:
-      - id: log_files
-        linkMerge: merge_flattened
-        source:
-          - save_solutions/log_dir
-          - save_inspection/log_dir
-          - save_logfiles/log_dir
-          - save_summary/log_dir
-      - id: sub_directory_name
-        default: results
-    out:
-      - id: log_dir
-    run: ./../steps/collectlog.cwl
-    label: save_results
 requirements:
   - class: SubworkflowFeatureRequirement
-  - class: MultipleInputFeatureRequirement
\ No newline at end of file
+  - class: MultipleInputFeatureRequirement
diff --git a/workflows/HBA_target.cwl b/workflows/HBA_target.cwl
index c8045687c50408ef3c1ec0128e58d025d755c2ae..834175e9c2bdd8e3eb4d1a67fe116103426ac2d6 100644
--- a/workflows/HBA_target.cwl
+++ b/workflows/HBA_target.cwl
@@ -153,10 +153,26 @@ inputs:
     type: int?
     default: 16
 outputs:
-  - id: results
+  - id: calibrated_data
     outputSource:
-      - save_results/log_dir
+      - save_results/dir
     type: Directory
+  - id: log_files
+    outputSource:
+      - save_logfiles/dir
+    type: Directory
+  - id: inspection_plots
+    outputSource:
+      - save_inspection/dir
+    type: Directory
+  - id: summary
+    outputSource:
+      - prefactor/summary_file
+    type: File
+  - id: solutions
+    outputSource:
+      - prefactor/solutions
+    type: File
 steps:
   - id: prefactor
     in:
@@ -269,66 +285,40 @@ steps:
     label: prefactor_target
   - id: save_logfiles
     in:
-      - id: log_files
+      - id: files
         linkMerge: merge_flattened
         source:
           - prefactor/logfiles
       - id: sub_directory_name
         default: logs
     out:
-      - id: log_dir
-    run: ./../steps/collectlog.cwl
+      - id: dir
+    run: ./../steps/collectfiles.cwl
     label: save_logfiles
   - id: save_inspection
     in:
-      - id: log_files
+      - id: files
         linkMerge: merge_flattened
         source:
           - prefactor/inspection
       - id: sub_directory_name
         default: inspection
     out:
-      - id: log_dir
-    run: ./../steps/collectlog.cwl
+      - id: dir
+    run: ./../steps/collectfiles.cwl
     label: save_inspection
-  - id: save_solutions
-    in:
-      - id: log_files
-        source:
-          - prefactor/solutions
-      - id: sub_directory_name
-        default: cal_values
-    out:
-      - id: log_dir
-    run: ./../steps/collectlog.cwl
-    label: save_solutions
-  - id: save_summary
-    in:
-      - id: log_files
-        source:
-          - prefactor/summary_file
-      - id: sub_directory_name
-        default: summary
-    out:
-      - id: log_dir
-    run: ./../steps/collectlog.cwl
-    label: save_summary
   - id: save_results
     in:
-      - id: log_files
+      - id: files
         linkMerge: merge_flattened
         source:
-          - save_solutions/log_dir
-          - save_inspection/log_dir
-          - save_logfiles/log_dir
-          - save_summary/log_dir
           - prefactor/msout
       - id: sub_directory_name
         default: results
     out:
-      - id: log_dir
-    run: ./../steps/collectlog.cwl
+      - id: dir
+    run: ./../steps/collectfiles.cwl
     label: save_results
 requirements:
   - class: SubworkflowFeatureRequirement
-  - class: MultipleInputFeatureRequirement
\ No newline at end of file
+  - class: MultipleInputFeatureRequirement