diff --git a/src/grouping/ptm/ptmgroupingexperiment.cpp b/src/grouping/ptm/ptmgroupingexperiment.cpp
index 524c75f68c4ea245f108ce67560078e9903c5e22..73339189cd46a3f9db4109f145263fca38f2e400 100644
--- a/src/grouping/ptm/ptmgroupingexperiment.cpp
+++ b/src/grouping/ptm/ptmgroupingexperiment.cpp
@@ -74,6 +74,14 @@ PtmGroupingExperiment::~PtmGroupingExperiment()
 
 }
 
+const std::vector<PtmIslandSubgroupSp> & PtmGroupingExperiment::getPtmIslandSubgroupList() const {
+    return _ptm_island_subgroup_list;
+}
+
+const std::vector<PtmIslandGroupSp> & PtmGroupingExperiment::getPtmIslandGroupList() const {
+    return _ptm_island_group_list;
+}
+
 const std::vector<PtmIslandSp> & PtmGroupingExperiment::getPtmIslandList() const {
     qDebug() << "PtmGroupingExperiment::getPtmIslandList begin" << _ptm_island_list.size();
     return _ptm_island_list;
@@ -169,19 +177,19 @@ unsigned int PtmGroupingExperiment::countPeptideMatchPtm(const PeptideMatch & pe
 std::vector<unsigned int> PtmGroupingExperiment::getPtmPositions(const PeptideMatch & peptide_match) const {
     std::vector<unsigned int> position_list;
 
-        for (const ModificationAndAa & modification: _modification_list) {
-            if (modification.aa_list.size() == 0) {
-                for (unsigned int position : peptide_match.getPeptideEvidence()->getPeptideXtpSp().get()->getModificationPositionList(modification.modification)) {
-                    position_list.push_back(position);
-                }
+    for (const ModificationAndAa & modification: _modification_list) {
+        if (modification.aa_list.size() == 0) {
+            for (unsigned int position : peptide_match.getPeptideEvidence()->getPeptideXtpSp().get()->getModificationPositionList(modification.modification)) {
+                position_list.push_back(position);
             }
-            else {
-                for (unsigned int position : peptide_match.getPeptideEvidence()->getPeptideXtpSp().get()->getModificationPositionList(modification.modification, modification.aa_list)) {
-                    position_list.push_back(position);
-                }
+        }
+        else {
+            for (unsigned int position : peptide_match.getPeptideEvidence()->getPeptideXtpSp().get()->getModificationPositionList(modification.modification, modification.aa_list)) {
+                position_list.push_back(position);
             }
         }
-    
+    }
+
     std::sort(position_list.begin(), position_list.end());
     auto last = std::unique(position_list.begin(), position_list.end());
     position_list.erase(last, position_list.end());
diff --git a/src/grouping/ptm/ptmgroupingexperiment.h b/src/grouping/ptm/ptmgroupingexperiment.h
index abbdf2c6c3e0025637d9c841e1ab31d9203c7e72..541f1422fcb3e7dc0f4931ee34e586b357986874 100644
--- a/src/grouping/ptm/ptmgroupingexperiment.h
+++ b/src/grouping/ptm/ptmgroupingexperiment.h
@@ -54,8 +54,19 @@ public:
     void setValidationState(ValidationState validation_state);
     void addProteinMatch(const ProteinMatch* p_protein_match);
     void startGrouping();
+
+    /** @brief get the ptm island subgroup list
+     */
+    const std::vector<PtmIslandSubgroupSp> & getPtmIslandSubgroupList() const;
+
+    /** @brief get the ptm island group list
+     */
+    const std::vector<PtmIslandGroupSp> & getPtmIslandGroupList() const;
     
+    /** @brief get the ptm island list
+     */
     const std::vector<PtmIslandSp> & getPtmIslandList() const;
+    
     /** @brief count number of modifications in a PeptideMatch
      * */
     unsigned int countPeptideMatchPtm(const PeptideMatch & peptide_match)const;
diff --git a/src/gui/ptm_island_list_view/ptmislandlistwindow.cpp b/src/gui/ptm_island_list_view/ptmislandlistwindow.cpp
index 764832238dfa413848f0726e3f868ae96a1fe8a0..e872d2e804bfef17ee13d47c6d2447ca6dbe791d 100644
--- a/src/gui/ptm_island_list_view/ptmislandlistwindow.cpp
+++ b/src/gui/ptm_island_list_view/ptmislandlistwindow.cpp
@@ -55,13 +55,13 @@ PtmIslandListWindow::PtmIslandListWindow(ProjectWindow *parent):
     ui->ptm_island_tableview->setAlternatingRowColors(true);
 
 
-
-    _statusbar_displayed_label = new QLabel("");
-    ui->statusbar->addWidget(_statusbar_displayed_label);
     
     _statusbar_ptm_islands_label  = new QLabel("");
     ui->statusbar->addWidget(_statusbar_ptm_islands_label);
 
+    _statusbar_displayed_label = new QLabel("");
+    ui->statusbar->addWidget(_statusbar_displayed_label);
+
 #if QT_VERSION >= 0x050000
     // Qt5 code
     connect (this, &PtmIslandListWindow::ptmIslandDataChanged, _ptm_table_model_p, &PtmIslandTableModel::onPtmIslandDataChanged);
@@ -129,7 +129,8 @@ void PtmIslandListWindow::doIdentificationPtmGroupGrouped(IdentificationGroup *
         _ptm_table_model_p->setIdentificationGroup(p_identification_group);
         emit ptmIslandDataChanged();
 
-        _statusbar_ptm_islands_label->setText(tr("ptm islands: %1").arg(p_identification_group->getPtmGroupingExperiment()->getPtmIslandList().size()));
+        const PtmGroupingExperiment * p_ptm_grouping_experiment = p_identification_group->getPtmGroupingExperiment();
+        _statusbar_ptm_islands_label->setText(tr("ptm island groups:%1 ptm island subgroups:%2 ptm islands:%3").arg(p_ptm_grouping_experiment->getPtmIslandGroupList().size()).arg(p_ptm_grouping_experiment->getPtmIslandSubgroupList().size()).arg(p_ptm_grouping_experiment->getPtmIslandList().size()));
         //ui->ptm_island_tableview->resizeRowToContents(_ptm_table_model_p->rowCount());
     }