diff --git a/doc/files/results_combine.ods b/doc/files/results_combine.ods
new file mode 100644
index 0000000000000000000000000000000000000000..c7fc3ebdc81fa82ad9b8614d5a518e0cd71e6ee5
Binary files /dev/null and b/doc/files/results_combine.ods differ
diff --git a/doc/files/results_phosphopeptide.ods b/doc/files/results_phosphopeptide.ods
new file mode 100644
index 0000000000000000000000000000000000000000..fe6bf9d5508a50fdaf70291c27444a1009d6cf1f
Binary files /dev/null and b/doc/files/results_phosphopeptide.ods differ
diff --git a/src/fr/inra/pappso/xtandempipeline/output/MassChroQmlWriter.java b/src/fr/inra/pappso/xtandempipeline/output/MassChroQmlWriter.java
index f20cfb84db0baf205ea22ae9962fde9b33802756..dd22bad71510e3e62422e29e697d256d18fd5bac 100644
--- a/src/fr/inra/pappso/xtandempipeline/output/MassChroQmlWriter.java
+++ b/src/fr/inra/pappso/xtandempipeline/output/MassChroQmlWriter.java
@@ -112,16 +112,20 @@ public class MassChroQmlWriter {
 			writer.writeEmptyElement("quantification_result");
 			writer.writeAttribute("output_file", "XIC_result");
 			writer.writeAttribute("format", "tsv");
+			writer.writeEmptyElement("quantification_result");
+			writer.writeAttribute("output_file", "result.xml");
+			writer.writeAttribute("format", "masschroqml");
+			writer.writeAttribute("xic_traces", "false");
 			writer.writeEndElement();// quantification_results
 
-			// Element trace = doc.createElement("quantification_traces");
-			writer.writeStartElement("quantification_traces");
-			// Element peptides_traces = doc.createElement("peptide_traces");
-			writer.writeEmptyElement("peptide_traces");
-			writer.writeAttribute("peptide_ids", "pep0 pep1");
-			writer.writeAttribute("output_dir", "peplist_xics_traces/");
-			writer.writeAttribute("format", "tsv");
-			writer.writeEndElement();// quantification_traces
+			// // Element trace = doc.createElement("quantification_traces");
+			// writer.writeStartElement("quantification_traces");
+			// // Element peptides_traces = doc.createElement("peptide_traces");
+			// writer.writeEmptyElement("peptide_traces");
+			// writer.writeAttribute("peptide_ids", "pep0 pep1");
+			// writer.writeAttribute("output_dir", "peplist_xics_traces/");
+			// writer.writeAttribute("format", "tsv");
+			// writer.writeEndElement();// quantification_traces
 
 			// Element quantify = doc.createElement("quantify");
 			writer.writeStartElement("quantify");
@@ -131,7 +135,8 @@ public class MassChroQmlWriter {
 			// Element peptides_in_peptide_list = doc
 			// .createElement("peptides_in_peptide_list");
 			writer.writeEmptyElement("peptides_in_peptide_list");
-			writer.writeAttribute("mode", "real_or_mean");
+			writer.writeAttribute("mode", "post_matching");
+			writer.writeComment("prefer 'real_or_mean' mode on low resolution");
 
 			// ajout des labels isotopics dans la methode
 			if (mods.size() > 0) {
@@ -353,10 +358,12 @@ public class MassChroQmlWriter {
 
 					// balise proteines
 					String prot_id = this.getSubGroupGroupNumber(group, sg);
+					//TODO add all protein, not only one protein by subgroup
 
 					// Element protein = doc.createElement("protein");
 					writer.writeEmptyElement("protein");
 					writer.writeAttribute("id", prot_id);
+					//TODO Use proteinID
 					writer.writeAttribute("desc", top.get_description());
 				}
 			}
@@ -438,6 +445,8 @@ public class MassChroQmlWriter {
 							.get(seqMod);
 					writer.writeStartElement("peptide");
 					writer.writeAttribute("id", pepid);
+					//TODO Replace by peptideMassID
+
 					Peptide peptide = peptideList.get(0);
 					// this.seq_to_element.put(seqMod, peptide);
 					writer.writeAttribute("mh",