diff --git a/include/autosave.h b/include/autosave.h
index def634a08052bbbc7008fd136ea5eef65c5c6c72..0de75255a50483d08efdb7ed241e5910f42709f6 100644
--- a/include/autosave.h
+++ b/include/autosave.h
@@ -33,16 +33,20 @@ class Autosave : public QObject
 {
     Q_OBJECT
 public:
-    Autosave(Petrack &petrack);
-    ~Autosave() override;
+    explicit Autosave(Petrack &petrack);
+    Autosave()                       = delete;
+    Autosave(const Autosave &other)  = delete;
+    Autosave(const Autosave &&other) = delete;
+    Autosave &operator=(const Autosave &other) = delete;
+    Autosave &operator=(Autosave &&other) = delete;
+    ~Autosave() override                  = default;
+
     void        trackPersonModified();
     bool        autosaveExists();
     static bool autosaveExists(const QString &filename);
     void        deleteAutosave();
     void        loadAutosave();
     bool        isAutosave(const QString &file);
-    void        startTimer();
-    void        stopTimer();
 
 private:
     static QString     buildAutosaveName(const QString &projectFileName, const QString &ending);
@@ -54,9 +58,12 @@ private slots:
     void savePet();
 
 private:
+    void startTimer();
+    void stopTimer();
+
     Petrack &mPetrack;
+    QTimer  *mTimer;
     int      mChangeCounter = 0;
-    QTimer * mTimer;
 };
 
 #endif // AUTOSAVE_H
diff --git a/src/autosave.cpp b/src/autosave.cpp
index 70af52448d115a778848a88e5f8058ae973ee612..5ff70f21ff834676110541ab323408abf76e9e3b 100644
--- a/src/autosave.cpp
+++ b/src/autosave.cpp
@@ -31,10 +31,10 @@ Autosave::Autosave(Petrack &petrack) : mPetrack(petrack)
     startTimer();
 }
 
-Autosave::~Autosave() = default;
+// Autosave::~Autosave() = default;
 //{
-// NOTE: Currently this would also delete on Keyboard Interrupt (Ctrl + C)
-// Replaced by Method call in closeEvent in Petrack to circumvent this
+//  NOTE: Currently this would also delete on Keyboard Interrupt (Ctrl + C)
+//  Replaced by Method call in closeEvent in Petrack to circumvent this
 
 // if Project-Object from Issue 88 gets implemented,
 // Autosave should be a Member of the project, not Petrack
@@ -42,6 +42,12 @@ Autosave::~Autosave() = default;
 // deleteAutosave();
 //}
 
+/**
+ * @brief Occasioanlly triggers autosaving
+ *
+ * This method gets called everytime the user modifies a trajectory. After a certain number of modifications, an
+ * autosave for the .trc file is written to disk
+ */
 void Autosave::trackPersonModified()
 {
     mChangeCounter++;
@@ -77,10 +83,10 @@ bool Autosave::autosaveExists(const QString &filename)
  */
 void Autosave::deleteAutosave()
 {
-    auto autosaves = getAutosave();
+    const auto autosaves = getAutosave();
     if(!autosaves.empty())
     {
-        for(auto &save : autosaves)
+        for(const auto &save : autosaves)
         {
             QFile saveFile{save};
             saveFile.remove();
@@ -93,16 +99,16 @@ void Autosave::deleteAutosave()
  */
 void Autosave::loadAutosave()
 {
-    auto autosaveFiles = getAutosave();
+    const auto autosaveFiles = getAutosave();
     if(autosaveFiles.empty())
     {
         return;
     }
 
-    auto petIndex = autosaveFiles.indexOf(QRegularExpression(R"(.*\.pet)"));
+    const auto petIndex = autosaveFiles.indexOf(QRegularExpression(R"(.*\.pet)"));
     if(petIndex != -1)
     {
-        QString petAutosaveName = autosaveFiles[petIndex];
+        const QString petAutosaveName = autosaveFiles[petIndex];
         mPetrack.openProject(petAutosaveName);
     }
     else
@@ -110,11 +116,11 @@ void Autosave::loadAutosave()
         mPetrack.openProject(mPetrack.getProFileName());
     }
 
-    auto trcIndex = autosaveFiles.indexOf(QRegularExpression(R"(.*\.trc)"));
+    const auto trcIndex = autosaveFiles.indexOf(QRegularExpression(R"(.*\.trc)"));
     if(trcIndex != -1)
     {
-        QString trcAutosaveName = autosaveFiles[trcIndex];
-        auto    trcFile         = mPetrack.getTrackFileName();
+        const QString trcAutosaveName = autosaveFiles[trcIndex];
+        const auto    trcFile         = mPetrack.getTrackFileName();
         mPetrack.deleteTrackPointAll(PersonStorage::Direction::Whole);
         mPetrack.importTracker(trcAutosaveName);
         mPetrack.setTrackFileName(trcFile);
@@ -132,10 +138,10 @@ void Autosave::loadAutosave()
 bool Autosave::isAutosave(const QString &file)
 {
     const auto &projectName        = mPetrack.getProFileName();
-    auto        petAutosaveName    = QFileInfo(buildAutosaveName(projectName, ".pet")).absoluteFilePath();
-    auto        petRunningAutosave = QFileInfo(buildAutosaveName(projectName, "_running.pet")).absoluteFilePath();
-    auto        trcAutosaveName    = QFileInfo(buildAutosaveName(projectName, ".trc")).absoluteFilePath();
-    auto        trcRunningAutosave = QFileInfo(buildAutosaveName(projectName, "_running.trc")).absoluteFilePath();
+    const auto  petAutosaveName    = QFileInfo(buildAutosaveName(projectName, ".pet")).absoluteFilePath();
+    const auto  petRunningAutosave = QFileInfo(buildAutosaveName(projectName, "_running.pet")).absoluteFilePath();
+    const auto  trcAutosaveName    = QFileInfo(buildAutosaveName(projectName, ".trc")).absoluteFilePath();
+    const auto  trcRunningAutosave = QFileInfo(buildAutosaveName(projectName, "_running.trc")).absoluteFilePath();
 
     QFileInfo      fileInfo{file};
     const QString &filePath = fileInfo.absoluteFilePath();
@@ -170,7 +176,7 @@ void Autosave::stopTimer()
 
 QString Autosave::buildAutosaveName(const QString &projectFileName, const QString &ending)
 {
-    QFileInfo projectFile{projectFileName};
+    const QFileInfo projectFile{projectFileName};
     return projectFile.dir().filePath("." + projectFile.baseName() + "_autosave" + ending);
 }
 
@@ -183,20 +189,20 @@ QString Autosave::buildAutosaveName(const QString &projectFileName, const QStrin
  */
 void Autosave::savePet()
 {
-    auto projectName = mPetrack.getProFileName();
+    const auto projectName = mPetrack.getProFileName();
     // only save if there is a project name; Means there needs to be an .pet file already for autosave to work. With our
     // workflow usually the case
     if(projectName.isEmpty() || QFileInfo(projectName).isDir())
     {
         return;
     }
-    QString autosaveName = buildAutosaveName(projectName, "_running.pet");
+    const QString autosaveName = buildAutosaveName(projectName, "_running.pet");
     mPetrack.saveProject(autosaveName);
 
     // first save to temp file, so crash during saving doesn't corrupt old autosave
-    QString finalAutosaveName = buildAutosaveName(projectName, ".pet");
-    QFile   tempAutosave{autosaveName};
-    QFile   autosave{finalAutosaveName};
+    const QString finalAutosaveName = buildAutosaveName(projectName, ".pet");
+    QFile         tempAutosave{autosaveName};
+    QFile         autosave{finalAutosaveName};
     if(tempAutosave.exists())
     {
         if(autosave.exists())
@@ -220,16 +226,16 @@ void Autosave::savePet()
  */
 void Autosave::saveTrc()
 {
-    auto    projectName   = mPetrack.getProFileName();
-    QString autosaveName  = buildAutosaveName(projectName, "_running.trc");
-    auto    trackFileName = mPetrack.getTrackFileName();
+    const auto    projectName   = mPetrack.getProFileName();
+    const QString autosaveName  = buildAutosaveName(projectName, "_running.trc");
+    const auto    trackFileName = mPetrack.getTrackFileName();
     mPetrack.exportTracker(autosaveName);
     mPetrack.setTrackFileName(trackFileName);
 
     // first save to temp file, so crash during saving doesn't corrupt old autosave
-    QString finalAutosaveName = buildAutosaveName(projectName, ".trc");
-    QFile   tempAutosave{autosaveName};
-    QFile   autosave{finalAutosaveName};
+    const QString finalAutosaveName = buildAutosaveName(projectName, ".trc");
+    QFile         tempAutosave{autosaveName};
+    QFile         autosave{finalAutosaveName};
     if(tempAutosave.exists())
     {
         if(autosave.exists())
@@ -250,7 +256,7 @@ void Autosave::saveTrc()
  */
 QStringList Autosave::getAutosave()
 {
-    auto projectPath = QFileInfo(mPetrack.getProFileName());
+    const auto projectPath = QFileInfo(mPetrack.getProFileName());
     return Autosave::getAutosave(projectPath);
 }
 
@@ -264,14 +270,14 @@ QStringList Autosave::getAutosave(const QFileInfo &projectPath)
     if(projectPath.isFile())
     {
         QStringList list;
-        auto        autosavePetName = buildAutosaveName(projectPath.absoluteFilePath(), ".pet");
-        QFileInfo   autosavePet{autosavePetName};
+        const auto      autosavePetName = buildAutosaveName(projectPath.absoluteFilePath(), ".pet");
+        const QFileInfo autosavePet{autosavePetName};
         if(autosavePet.exists())
         {
             list.append(autosavePetName);
         }
-        auto      autosaveTrcName = buildAutosaveName(projectPath.absoluteFilePath(), ".trc");
-        QFileInfo autosaveTrc{autosaveTrcName};
+        const auto      autosaveTrcName = buildAutosaveName(projectPath.absoluteFilePath(), ".trc");
+        const QFileInfo autosaveTrc{autosaveTrcName};
         if(autosaveTrc.exists())
         {
             list.append(autosaveTrcName);