diff --git a/src/bolero.nf b/src/bolero.nf
index 35afde56bf6e89b05d28d82408c888e3ccea5ad7..d4192a41c658f36cda5f9c17d4d19f78f2293e61 100755
--- a/src/bolero.nf
+++ b/src/bolero.nf
@@ -92,7 +92,8 @@ params.num_callers = 16
 params.chunks_per_runner = 512
 params.chunk_size = 1900
 params.config_file = ""
-params.kit_barcoding = "EXP-PBC001"
+params.kit_barcoding = ""
+//"EXP-PBC001"
 
 
 /* Params out */
@@ -106,6 +107,7 @@ params.minimap2_genome_out = "05_minimap2/"
 params.start_position_counts_out = "06_start_positions/"
 params.nanosplicer_out = "07_nanosplicer/"
 params.rna_count_out = "08_RNA_count/"
+params.rna_qc_out = "09_quality_control/"
 
 /*
  ****************************************************************
@@ -230,12 +232,13 @@ workflow {
         concatenate(tuples_barcode)
       }
       else{
-        concatenate(basecall_fast5_gpu.out.pass)
+        tuple_sample = ["Sample", basecall_fast5_gpu.out.pass]
+        concatenate(tuple_sample)
       }
       control_basecalling(basecall_fast5_gpu.out.sequencing_summary)
     }
     else {
-      basecall_fast5_cpu(input)
+      //basecall_fast5_cpu(input)
       if(params.kit_barcoding != ""){
         barcoding_cpu(pass)  
         barcoding_cpu.out.barcodes
@@ -245,16 +248,19 @@ workflow {
         concatenate(tuples_barcode)
       }
       else{
-        concatenate(pass)
+        pass
+          .map{it -> ["Sample", it]}
+          .set{tuple_sample}
+        concatenate(tuple_sample)
       }
-      //control_basecalling(basecall_fast5_cpu.out.sequencing_summary)
+      control_basecalling(ss)
     }
   }
 
 
 
   //####################### PREPROCESSING #######################
-    
+  
 
   //Filtration (seqkit_grep looks for the 5'RACE and the gsp patterns in the reads to keep only mature ARNs)
   seqkit_grep(concatenate.out.merged_fastq, params.adapt, params.gsp)
@@ -266,14 +272,7 @@ workflow {
 
   hbv_genome(cut_5pRACE.out.fastq_cutadapt, genome.collect())
   sort_index_bam(hbv_genome.out.bam)
-
-  sort_index_bam.out.indexed_bam
-    .flatten()
-    .filter(~/.*bam$/)
-    .collect()
-    .set{bam_path}
-
-  //control_bam(ss, bam_path)
+  control_bam(ss.collect(), sort_index_bam.out.indexed_bam)
 
   //###################### START POSITIONS #######################
 
diff --git a/src/nf_modules/pycoqc/main.nf b/src/nf_modules/pycoqc/main.nf
index de9db1f18c24137e9ed39103b2f11a27405c7757..a1d2dc8ab08e2feb4cc0278595264e59116eefaa 100644
--- a/src/nf_modules/pycoqc/main.nf
+++ b/src/nf_modules/pycoqc/main.nf
@@ -1,12 +1,13 @@
 version = "2.5.2"
 container_url = "xgrand/pycoqc:${version}"
 
+params.rna_qc_out = ""
 process control_basecalling {
   container = "${container_url}"
   label "small_mem_mono_cpus"
   
-  if (params.basecalling_out != "") {
-    publishDir "results/${params.basecalling_out}", mode: 'copy'
+  if (params.rna_qc_out != "") {
+    publishDir "results/${params.rna_qc_out}QC_basecalling/", mode: 'copy'
   }
 
   input:
@@ -16,7 +17,7 @@ process control_basecalling {
   path("*.html")
 
   """
-  pycoQC -f ${txt} -o Control_basecalling.html
+  pycoQC -f ${txt} -o QC_basecalling.html
   """
 }
 
@@ -24,20 +25,18 @@ process control_bam {
   container = "${container_url}"
   label "small_mem_mono_cpus"
   
-  if (params.basecalling_out != "") {
-    publishDir "results/${params.basecalling_out}", mode: 'copy'
+  if (params.rna_qc_out != "") {
+    publishDir "results/${params.rna_qc_out}QC_mapping/", mode: 'copy'
   }
 
   input:
   path(txt)
-  path(path_bam)
+  tuple val(barcode), path(bam), path(bai)
 
   output:
-  path("*.txt")
+  path("*.html")
 
   """
-  mkdir bam/
-  mv ${path_bam} bam/
-  pycoQC -f ${txt} -a bam/ -o Control_mapping.html
+  pycoQC -f ${txt} -a ${bam} -o ${barcode}_QC_mapping.html
   """
 }
\ No newline at end of file