diff --git a/src/core/msrun.cpp b/src/core/msrun.cpp
index 7a88be06143e8c6f38961fcdafae100d48a47a8b..06142d4095d08eaff6b0ac8ef15fd41c348aa55a 100644
--- a/src/core/msrun.cpp
+++ b/src/core/msrun.cpp
@@ -69,71 +69,7 @@ MsRun::getMsRunReaderSPtr()
   // qDebug() << " filename=" << getFileName();
   if(_msrun_reader_sp == nullptr)
     {
-      qDebug() << " runid=" << getRunId() << " xmlid=" << getXmlId();
-      pappso::MsFileAccessor *p_accessor = nullptr;
-
-      try
-        {
-          // pappso::MsFileAccessor accessor(getFileName(), "");
-          p_accessor = new pappso::MsFileAccessor(getFileName(), "runa1");
-          p_accessor->setPreferedFileReaderType(
-            pappso::MzFormat::brukerTims, pappso::FileReaderType::tims_ms2);
-        }
-      catch(pappso::ExceptionNotFound &error)
-        {
-          qDebug() << "not found";
-          _msrun_reader_sp = nullptr;
-          /// p_accessor       = nullptr;
-          // throw error;
-          // file not found, don't throw exception, we'll try another location
-        }
-      if(p_accessor != nullptr)
-        {
-          try
-            {
-              _msrun_reader_sp =
-                p_accessor->getMsRunReaderSPtrByRunId(getRunId(), getXmlId());
-              delete p_accessor;
-              p_accessor = nullptr;
-
-              //qDebug() << m_centroidOptions;
-              if(!m_centroidOptions.isEmpty())
-                {
-                  pappso::TimsMsRunReaderMs2 *tims2_reader =
-                    dynamic_cast<pappso::TimsMsRunReaderMs2 *>(
-                      _msrun_reader_sp.get());
-                  if(tims2_reader != nullptr)
-                    {
-                      qDebug() << m_centroidOptions;
-                      QStringList option_list = m_centroidOptions.split(" ");
-                      std::shared_ptr<pappso::FilterPseudoCentroid> ms2filter =
-                        std::make_shared<pappso::FilterPseudoCentroid>(
-                          option_list.at(0).toDouble(),
-                          option_list.at(1).toDouble(),
-                          option_list.at(2).toDouble(),
-                          option_list.at(3).toDouble());
-
-                      tims2_reader->setMs2FilterCstSPtr(ms2filter);
-                      qDebug() << m_centroidOptions;
-                    }
-                }
-            }
-
-          catch(pappso::PappsoException &error2)
-            {
-              _msrun_reader_sp = nullptr;
-              if(p_accessor != nullptr)
-                {
-                  delete p_accessor;
-                  p_accessor = nullptr;
-                }
-              throw error2;
-            }
-        }
-    }
-  else
-    {
-      // qDebug();
+      setMsRunReaderSp(getFileName());
     }
 
   return _msrun_reader_sp;
@@ -144,73 +80,80 @@ MsRun::getMsRunReaderSPtrMgfToTdf(QString tdf_file)
 {
   qDebug() << " filename=" << getFileName();
   qDebug() << "filenameTDF = " << tdf_file;
+
   if(_msrun_reader_sp == nullptr)
     {
-      qDebug() << " runid=" << getRunId() << " xmlid=" << getXmlId();
-      pappso::MsFileAccessor *p_accessor = nullptr;
+      setMsRunReaderSp(tdf_file);
+    }
 
-      try
-        {
+  return _msrun_reader_sp;
+}
 
-          p_accessor = new pappso::MsFileAccessor(tdf_file, "runa1");
+void
+MsRun::setMsRunReaderSp(QString ms_run_file)
+{
+  qDebug() << " runid=" << getRunId() << " xmlid=" << getXmlId();
+  pappso::MsFileAccessor *p_accessor = nullptr;
 
-          p_accessor->setPreferedFileReaderType(
-            pappso::MzFormat::brukerTims, pappso::FileReaderType::tims_ms2);
-        }
-      catch(pappso::ExceptionNotFound &error)
-        {
-          qDebug() << "not found";
-          _msrun_reader_sp = nullptr;
-          /// p_accessor       = nullptr;
-          // throw error;
-          // file not found, don't throw exception, we'll try another location
-        }
-      if(p_accessor != nullptr)
+  try
+    {
+
+      p_accessor = new pappso::MsFileAccessor(ms_run_file, "runa1");
+
+      p_accessor->setPreferedFileReaderType(pappso::MzFormat::brukerTims,
+                                            pappso::FileReaderType::tims_ms2);
+    }
+  catch(pappso::ExceptionNotFound &error)
+    {
+      qDebug() << "not found";
+      _msrun_reader_sp = nullptr;
+      /// p_accessor       = nullptr;
+      // throw error;
+      // file not found, don't throw exception, we'll try another location
+    }
+  if(p_accessor != nullptr)
+    {
+      try
         {
-          try
-            {
-              _msrun_reader_sp =
-                p_accessor->getMsRunReaderSPtrByRunId(getRunId(), getXmlId());
-              delete p_accessor;
-              p_accessor = nullptr;
+          _msrun_reader_sp =
+            p_accessor->getMsRunReaderSPtrByRunId(getRunId(), getXmlId());
+          delete p_accessor;
+          p_accessor = nullptr;
 
-              qDebug() << m_centroidOptions;
-              if(!m_centroidOptions.isEmpty())
+          qDebug() << m_centroidOptions;
+          if(!m_centroidOptions.isEmpty())
+            {
+              pappso::TimsMsRunReaderMs2 *tims2_reader =
+                dynamic_cast<pappso::TimsMsRunReaderMs2 *>(
+                  _msrun_reader_sp.get());
+              if(tims2_reader != nullptr)
                 {
-                  pappso::TimsMsRunReaderMs2 *tims2_reader =
-                    dynamic_cast<pappso::TimsMsRunReaderMs2 *>(
-                      _msrun_reader_sp.get());
-                  if(tims2_reader != nullptr)
-                    {
-                      qDebug() << m_centroidOptions;
-                      QStringList option_list = m_centroidOptions.split(" ");
-                      std::shared_ptr<pappso::FilterPseudoCentroid> ms2filter =
-                        std::make_shared<pappso::FilterPseudoCentroid>(
-                          option_list.at(0).toDouble(),
-                          option_list.at(1).toDouble(),
-                          option_list.at(2).toDouble(),
-                          option_list.at(3).toDouble());
-
-                      tims2_reader->setMs2FilterCstSPtr(ms2filter);
-                      qDebug() << m_centroidOptions;
-                    }
+                  qDebug() << m_centroidOptions;
+                  QStringList option_list = m_centroidOptions.split(" ");
+                  std::shared_ptr<pappso::FilterPseudoCentroid> ms2filter =
+                    std::make_shared<pappso::FilterPseudoCentroid>(
+                      option_list.at(0).toDouble(),
+                      option_list.at(1).toDouble(),
+                      option_list.at(2).toDouble(),
+                      option_list.at(3).toDouble());
+
+                  tims2_reader->setMs2FilterCstSPtr(ms2filter);
+                  qDebug() << m_centroidOptions;
                 }
             }
+        }
 
-          catch(pappso::PappsoException &error2)
+      catch(pappso::PappsoException &error2)
+        {
+          _msrun_reader_sp = nullptr;
+          if(p_accessor != nullptr)
             {
-              _msrun_reader_sp = nullptr;
-              if(p_accessor != nullptr)
-                {
-                  delete p_accessor;
-                  p_accessor = nullptr;
-                }
-              throw error2;
+              delete p_accessor;
+              p_accessor = nullptr;
             }
+          throw error2;
         }
     }
-
-  return _msrun_reader_sp;
 }
 
 
diff --git a/src/core/msrun.h b/src/core/msrun.h
index 6ec2f273fc763c268438247a489e63c130dd0f28..3aeb53b14399da2eef067c86fb01c2ab4753910c 100644
--- a/src/core/msrun.h
+++ b/src/core/msrun.h
@@ -79,6 +79,7 @@ class MsRun : public pappso::MsRunId
 
   pappso::MsRunReaderSPtr &getMsRunReaderSPtr();
   pappso::MsRunReaderSPtr &getMsRunReaderSPtrMgfToTdf(QString tdf_file);
+  void setMsRunReaderSp(QString ms_run_file);
 
   /** @brief release shared pointer on MSrun reader
    */