diff --git a/src/gui/export/export_masschroq_dialog/export_masschroq_dialog.ui b/src/gui/export/export_masschroq_dialog/export_masschroq_dialog.ui
index 8f371534d102e9682474762cf3824bd089f5bc10..697456ff56fd9a216b4df399492ab3a8499b46a2 100644
--- a/src/gui/export/export_masschroq_dialog/export_masschroq_dialog.ui
+++ b/src/gui/export/export_masschroq_dialog/export_masschroq_dialog.ui
@@ -293,85 +293,6 @@
        </item>
       </layout>
      </widget>
-     <widget class="QWidget" name="resultTab">
-      <attribute name="title">
-       <string>&amp;Result files</string>
-      </attribute>
-      <layout class="QVBoxLayout" name="verticalLayout_4">
-       <item>
-        <widget class="QWidget" name="widget" native="true">
-         <layout class="QVBoxLayout" name="verticalLayout_3">
-          <item>
-           <widget class="QLabel" name="label">
-            <property name="text">
-             <string>Peptide quantification result file name</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <layout class="QHBoxLayout" name="horizontalLayout_2">
-            <property name="spacing">
-             <number>6</number>
-            </property>
-            <item>
-             <widget class="QLineEdit" name="outputFileEdit"/>
-            </item>
-           </layout>
-          </item>
-          <item>
-           <widget class="QGroupBox" name="comparFileGroupBox">
-            <property name="title">
-             <string>Compa&amp;r file name</string>
-            </property>
-            <property name="checkable">
-             <bool>true</bool>
-            </property>
-            <layout class="QVBoxLayout" name="verticalLayout">
-             <item>
-              <layout class="QHBoxLayout" name="horizontalLayout_3">
-               <property name="spacing">
-                <number>6</number>
-               </property>
-               <item>
-                <widget class="QLineEdit" name="comparFileEdit"/>
-               </item>
-               <item>
-                <widget class="QComboBox" name="comparFileFormatComboBox">
-                 <item>
-                  <property name="text">
-                   <string>ODS</string>
-                  </property>
-                 </item>
-                 <item>
-                  <property name="text">
-                   <string>TSV</string>
-                  </property>
-                 </item>
-                </widget>
-               </item>
-              </layout>
-             </item>
-            </layout>
-           </widget>
-          </item>
-          <item>
-           <spacer name="verticalSpacer">
-            <property name="orientation">
-             <enum>Qt::Vertical</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>20</width>
-              <height>40</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-         </layout>
-        </widget>
-       </item>
-      </layout>
-     </widget>
     </widget>
    </item>
    <item>
@@ -398,7 +319,7 @@
       </widget>
      </item>
      <item>
-      <widget class="QRadioButton" name="radioButton">
+      <widget class="QRadioButton" name="compar_radioButton">
        <property name="text">
         <string>Compar file</string>
        </property>
diff --git a/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.cpp b/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.cpp
index e95b1f499af01baa03f5853a645760b2025a3164..8f673bb75cba5d253fef3d432bbde14375c28701 100644
--- a/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.cpp
+++ b/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.cpp
@@ -102,22 +102,13 @@ ExportMasschroqDialog::setMasschroqFileParameters(
 
   ui->zivyParamWidget->setZivyParams(zivy_params);
 
-  ui->outputFileEdit->setText(params.result_file_name);
   ui->outputFileFormatComboBox->setCurrentText("ODS");
   if(params.result_file_format == TableFileFormat::tsv)
     {
       ui->outputFileFormatComboBox->setCurrentText("TSV");
     }
 
-  ui->comparFileGroupBox->setChecked(params.export_compar_file);
-
-  ui->comparFileEdit->setText(params.compar_file_name);
-  ui->comparFileFormatComboBox->setCurrentText("ODS");
-  if(params.compar_file_format == TableFileFormat::tsv)
-    {
-      ui->comparFileFormatComboBox->setCurrentText("TSV");
-    }
-
+  ui->compar_radioButton->setChecked(params.export_compar_file);
 
   ui->timeCorrectionGroupBox->setChecked(params.write_alignment_times);
   ui->timeCorrectionDirectoryEdit->setText(params.alignment_times_directory);
@@ -135,21 +126,21 @@ ExportMasschroqDialog::getMasschroqFileParameters() const
 {
   MasschroqFileParameters params;
 
-  params.result_file_name   = ui->outputFileEdit->text();
   params.result_file_format = TableFileFormat::ods;
   if(ui->outputFileFormatComboBox->currentText() == "TSV")
     {
       params.result_file_format = TableFileFormat::tsv;
     }
-
-  params.export_compar_file = ui->comparFileGroupBox->isChecked();
-  params.compar_file_name   = ui->comparFileEdit->text();
-  params.compar_file_format = TableFileFormat::ods;
-  if(ui->comparFileFormatComboBox->currentText() == "TSV")
+  for(int i = 0; i < mp_poModel->rowCount(); i++)
     {
-      params.compar_file_format = TableFileFormat::tsv;
+      qDebug() << mp_poModel->item(i, 0)->checkState();
+      if(mp_poModel->item(i, 0)->checkState() == Qt::CheckState(Qt::Checked))
+        {
+          params.alignment_groups.push_back(msp_alignmentGroups.at(i));
+        }
     }
 
+  params.export_compar_file = ui->compar_radioButton->isChecked();
 
   params.write_alignment_times     = ui->timeCorrectionGroupBox->isChecked();
   params.alignment_times_directory = ui->timeCorrectionDirectoryEdit->text();
@@ -190,19 +181,6 @@ void
 ExportMasschroqDialog::accept()
 {
   QString error_message;
-  if(ui->outputFileEdit->text().isEmpty())
-    {
-      error_message = QString(tr("MassChroqML result file name must be set"));
-    }
-  if(ui->comparFileGroupBox->isChecked())
-    {
-      if(ui->comparFileEdit->text().isEmpty())
-        {
-          error_message =
-            QString(tr("MassChroqML compar file name must be set"));
-        }
-    }
-
   if(ui->timeCorrectionGroupBox->isChecked())
     {
       if(ui->timeCorrectionDirectoryEdit->text().isEmpty())
diff --git a/src/gui/export/export_masschroq_dialog/masschroqfileparameters.cpp b/src/gui/export/export_masschroq_dialog/masschroqfileparameters.cpp
index 40eadbefec143b8cd004ac65eeea4168a29adcec..8fef08b58069ac2a15be50234f94be73bc47328f 100644
--- a/src/gui/export/export_masschroq_dialog/masschroqfileparameters.cpp
+++ b/src/gui/export/export_masschroq_dialog/masschroqfileparameters.cpp
@@ -35,19 +35,12 @@ void
 MasschroqFileParameters::save() const
 {
   QSettings settings;
-  settings.setValue("export_masschroqml/result_file_name",
-                    QString("%1").arg(result_file_name));
   settings.setValue("export_masschroqml/result_file_format",
                     (std::uint8_t)result_file_format);
 
 
   settings.setValue("export_masschroqml/export_compar_file",
                     QString("%1").arg(export_compar_file));
-  settings.setValue("export_masschroqml/compar_file_name",
-                    QString("%1").arg(compar_file_name));
-  settings.setValue("export_masschroqml/compar_file_format",
-                    (std::uint8_t)compar_file_format);
-
 
   settings.setValue("export_masschroqml/write_alignment_times",
                     write_alignment_times);
@@ -73,9 +66,6 @@ void
 MasschroqFileParameters::load()
 {
   QSettings settings;
-  result_file_name =
-    settings.value("export_masschroqml/result_file_name", QString("results"))
-      .toString();
   result_file_format =
     (TableFileFormat)settings
       .value("export_masschroqml/result_file_format",
@@ -87,16 +77,6 @@ MasschroqFileParameters::load()
     settings
       .value("export_masschroqml/compar_file_name", QString("%1").arg(true))
       .toBool();
-  compar_file_name =
-    settings
-      .value("export_masschroqml/compar_file_name", QString("compar_results"))
-      .toString();
-  compar_file_format =
-    (TableFileFormat)settings
-      .value("export_masschroqml/compar_file_format",
-             QString("%1").arg((std::uint8_t)TableFileFormat::ods))
-      .toUInt();
-
 
   write_alignment_times = settings
                             .value("export_masschroqml/write_alignment_times",
diff --git a/src/gui/export/export_masschroq_dialog/masschroqfileparameters.h b/src/gui/export/export_masschroq_dialog/masschroqfileparameters.h
index dca3303b7df1c62a828ac9d32223bb0372a39468..55b61563cd6b9e6ee3312fcb1e16306d1390305e 100644
--- a/src/gui/export/export_masschroq_dialog/masschroqfileparameters.h
+++ b/src/gui/export/export_masschroq_dialog/masschroqfileparameters.h
@@ -41,14 +41,14 @@ struct MasschroqFileParameters
   void load();
 
   /** @brief quantification result output file name*/
-  QString result_file_name;
+  // QString result_file_name;
 
   /** @brief quantification result output file type*/
   TableFileFormat result_file_format = TableFileFormat::ods;
 
   bool export_compar_file = false;
-  QString compar_file_name;
-  TableFileFormat compar_file_format = TableFileFormat::ods;
+  // QString compar_file_name;
+  // TableFileFormat compar_file_format = TableFileFormat::ods;
 
   bool write_alignment_times;
   QString alignment_times_directory;
@@ -62,4 +62,5 @@ struct MasschroqFileParameters
   pappso::XicExtractMethod xic_extraction_method; // sum or max
 
   MsRunSp msrun_alignment_reference;
+  std::vector<MsRunAlignmentGroupSp> alignment_groups;
 };
diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp
index 55aaf40de92dc593c248ac4bef2d798d8e0961df..f3e9299961eb16f00a151cced1f0b153af167d7a 100644
--- a/src/gui/mainwindow.cpp
+++ b/src/gui/mainwindow.cpp
@@ -664,6 +664,7 @@ MainWindow::doAcceptedExportMasschroqDialog()
       MasschroqFileParameters params =
         _p_export_masschroq_dialog->getMasschroqFileParameters();
       params.save();
+      qDebug() << params.alignment_groups.size();
       QSettings settings;
       QString default_location = settings.value("path/mcqfile", "").toString();
 
diff --git a/src/output/masschroqml.cpp b/src/output/masschroqml.cpp
index c4ca988d1d67c0472b3a581a13ab2a6eeb21c584..6125a7d650bc402b6da881c6deb90a2859b24f86 100644
--- a/src/output/masschroqml.cpp
+++ b/src/output/masschroqml.cpp
@@ -199,7 +199,8 @@ MassChroQml::writeQuantificationResults()
   //<quantification_result output_file="result1"
   //	format="tsv" />
   _output_stream->writeStartElement("quantification_result");
-  _output_stream->writeAttribute("output_file", m_params.result_file_name);
+  _output_stream->writeAttribute(
+    "output_file", "result_" + QFileInfo(*_output_file).baseName());
   if(m_params.result_file_format == TableFileFormat::ods)
     {
       _output_stream->writeAttribute("format", "ods");
@@ -219,8 +220,9 @@ MassChroQml::writeQuantificationResults()
   if(m_params.export_compar_file)
     {
       _output_stream->writeStartElement("compar_result");
-      _output_stream->writeAttribute("output_file", m_params.compar_file_name);
-      if(m_params.compar_file_format == TableFileFormat::ods)
+      _output_stream->writeAttribute(
+        "output_file", "compar_" + QFileInfo(*_output_file).baseName());
+      if(m_params.result_file_format == TableFileFormat::ods)
         {
           _output_stream->writeAttribute("format", "ods");
         }
@@ -456,23 +458,27 @@ MassChroQml::writeAlignments()
   _output_stream->writeEndElement();
   //<align group_id="G1" method_id="my_ms2" reference_data_id="samp0" />
   //<align group_id="G2" method_id="my_obiwarp" reference_data_id="samp2" />
-  _output_stream->writeStartElement("align");
-  _output_stream->writeAttribute("group_id", "fractiona1");
-  _output_stream->writeAttribute("method_id", "my_ms2");
-  std::vector<MsRunSp> msrun_list =
-    _sp_project.get()->getMsRunStore().getMsRunList();
-  if(m_params.msrun_alignment_reference == nullptr)
-    {
-      _output_stream->writeAttribute("reference_data_id",
-                                     msrun_list.front().get()->getXmlId());
-    }
-  else
+
+  for(MsRunAlignmentGroupSp group_sp : m_params.alignment_groups)
     {
-      _output_stream->writeAttribute(
-        "reference_data_id",
-        m_params.msrun_alignment_reference.get()->getXmlId());
+      _output_stream->writeStartElement("align");
+      _output_stream->writeAttribute("group_id",
+                                     group_sp->getMsRunAlignmentGroupName());
+      _output_stream->writeAttribute("method_id", "my_ms2");
+      if(group_sp->getMsRunReference() == nullptr)
+        {
+          _output_stream->writeAttribute(
+            "reference_data_id",
+            group_sp->getMsRunsInAlignmentGroup().front().get()->getXmlId());
+        }
+      else
+        {
+          _output_stream->writeAttribute(
+            "reference_data_id",
+            group_sp->getMsRunReference().get()->getXmlId());
+        }
+      _output_stream->writeEndElement();
     }
-  _output_stream->writeEndElement();
   //</alignments>
   _output_stream->writeEndElement();
 }
@@ -660,17 +666,20 @@ MassChroQml::writeGroups()
   //<groups>
   _output_stream->writeStartElement("groups");
   //<group data_ids="samp0 samp1" id="G1" />
-  _output_stream->writeStartElement("group");
-  _output_stream->writeAttribute("id", QString("fractiona1"));
-  std::vector<MsRunSp> msrun_list =
-    _sp_project.get()->getMsRunStore().getMsRunList();
-  QStringList list;
-  for(MsRunSp &msrun : msrun_list)
+  for(MsRunAlignmentGroupSp group_sp : m_params.alignment_groups)
     {
-      list << msrun.get()->getXmlId();
+      _output_stream->writeStartElement("group");
+      _output_stream->writeAttribute("id",
+                                     group_sp->getMsRunAlignmentGroupName());
+      QStringList list;
+      for(MsRunSp &msrun : group_sp->getMsRunsInAlignmentGroup())
+        {
+          list << msrun.get()->getXmlId();
+        }
+      _output_stream->writeAttribute("data_ids", list.join(" "));
+      _output_stream->writeEndElement();
     }
-  _output_stream->writeAttribute("data_ids", list.join(" "));
-  _output_stream->writeEndElement();
+
   //<group data_ids="samp2 samp3" id="G2" />
   //	</groups>
   _output_stream->writeEndElement();