diff --git a/src/Document/CRTPDocument.hh b/src/Document/CRTPSubDocument.hh
similarity index 72%
rename from src/Document/CRTPDocument.hh
rename to src/Document/CRTPSubDocument.hh
index 4fd2ba912e940cdcc0fbf428ae8e67b74624714b..ea9a556b1de1fd2b77089dd7087d92ef7592a48a 100644
--- a/src/Document/CRTPDocument.hh
+++ b/src/Document/CRTPSubDocument.hh
@@ -28,15 +28,15 @@ enum AssDocumentType {
 };
 
 /* The Big CRTP class for all common things to all the subdocuments */
-template <class CRTPDocumentType, class Document> class CRTPDocument {
+template <class CRTPSubDocumentType, class Document> class CRTPSubDocument {
 public:
-    using Type = CRTPDocumentType;
+    using Type = CRTPSubDocumentType;
 
 protected:
     QString filePath;
     Type fileType;
 
-    explicit CRTPDocument() = default;
+    explicit CRTPSubDocument() = default;
 
     bool isFileValid(const QString &path) const noexcept
     {
@@ -66,7 +66,7 @@ public:
 };
 
 /* Audio document */
-class AudioDocument final : public CRTPDocument<AudioDocumentType, AudioDocument> {
+class AudioSubDocument final : public CRTPSubDocument<AudioDocumentType, AudioSubDocument> {
 private:
     const QStringList &suffixList = Vivy::Utils::audioFileSuffix;
 
@@ -74,12 +74,12 @@ private:
     {
     }
 
-    explicit AudioDocument() = default;
-    friend CRTPDocument<AudioDocumentType, AudioDocument>;
+    explicit AudioSubDocument() = default;
+    friend CRTPSubDocument<AudioDocumentType, AudioSubDocument>;
 };
 
 /* Video document */
-class VideoDocument final : public CRTPDocument<VideoDocumentType, VideoDocument> {
+class VideoSubDocument final : public CRTPSubDocument<VideoDocumentType, VideoSubDocument> {
 private:
     const QStringList &suffixList = Vivy::Utils::videoFileSuffix;
 
@@ -87,20 +87,20 @@ private:
     {
     }
 
-    explicit VideoDocument() noexcept = default;
-    friend CRTPDocument<VideoDocumentType, VideoDocument>;
+    explicit VideoSubDocument() noexcept = default;
+    friend CRTPSubDocument<VideoDocumentType, VideoSubDocument>;
 };
 
 /* ASS document */
-class AssDocument final : public CRTPDocument<AssDocumentType, AssDocument> {
+class AssSubDocument final : public CRTPSubDocument<AssDocumentType, AssSubDocument> {
     const QStringList &suffixList = Vivy::Utils::assFileSuffix;
 
     inline void initFromPath([[maybe_unused]] const QString &path) noexcept
     {
     }
 
-    explicit AssDocument() noexcept = default;
-    friend CRTPDocument<AssDocumentType, AssDocument>;
+    explicit AssSubDocument() noexcept = default;
+    friend CRTPSubDocument<AssDocumentType, AssSubDocument>;
 
 private:
     QVector<std::shared_ptr<Line>> lines;
diff --git a/src/Document/VivyDocument.cc b/src/Document/VivyDocument.cc
index 1d077b833ecbfae2fe4bd39fd9847605f9d8d8e2..c5c9bbb94e3d68977c7f42a9976c0176e9accbbd 100644
--- a/src/Document/VivyDocument.cc
+++ b/src/Document/VivyDocument.cc
@@ -21,17 +21,17 @@ VivyDocument::loadSubDocument(const QString &name) noexcept
         switch (type) {
         case SubDocument::AudioAble:
             qDebug() << "Create an audio subDocument from " << name;
-            audioDocument = std::unique_ptr<AudioDocument>(AudioDocument::fromFile(file.absoluteFilePath()));
+            audioDocument = std::unique_ptr<AudioSubDocument>(AudioSubDocument::fromFile(file.absoluteFilePath()));
             return true;
 
         case SubDocument::VideoAble:
             qDebug() << "Create a video subDocument from " << name;
-            videoDocument = std::unique_ptr<VideoDocument>(VideoDocument::fromFile(file.absoluteFilePath()));
+            videoDocument = std::unique_ptr<VideoSubDocument>(VideoSubDocument::fromFile(file.absoluteFilePath()));
             return true;
 
         case SubDocument::AssAble:
             qDebug() << "Create an ass subDocument from " << name;
-            assDocument = std::unique_ptr<AssDocument>(AssDocument::fromFile(file.absoluteFilePath()));
+            assDocument = std::unique_ptr<AssSubDocument>(AssSubDocument::fromFile(file.absoluteFilePath()));
             return true;
         }
     }
@@ -51,18 +51,18 @@ VivyDocument::loadSubDocument(const QString &name, VivyDocument::SubDocument asT
 
     if (type == SubDocument::AssAble && asType == SubDocument::AssAble) {
         qDebug() << "Create an ass subDocument from " << name;
-        assDocument = std::unique_ptr<AssDocument>(AssDocument::fromFile(file.absoluteFilePath()));
+        assDocument = std::unique_ptr<AssSubDocument>(AssSubDocument::fromFile(file.absoluteFilePath()));
     }
 
     else if (type == SubDocument::VideoAble && asType == SubDocument::VideoAble) {
         qDebug() << "Create a video subDocument from " << name;
-        videoDocument = std::unique_ptr<VideoDocument>(VideoDocument::fromFile(file.absoluteFilePath()));
+        videoDocument = std::unique_ptr<VideoSubDocument>(VideoSubDocument::fromFile(file.absoluteFilePath()));
     }
 
     else if (const bool requestAudio = (asType == SubDocument::AudioAble);
              (type == SubDocument::VideoAble && requestAudio) || (type == SubDocument::AudioAble && requestAudio)) {
         qDebug() << "Create an audio subDocument from " << name;
-        audioDocument = std::unique_ptr<AudioDocument>(AudioDocument::fromFile(file.absoluteFilePath()));
+        audioDocument = std::unique_ptr<AudioSubDocument>(AudioSubDocument::fromFile(file.absoluteFilePath()));
     }
 
     return true;
@@ -118,19 +118,19 @@ VivyDocument::rename(const QString &name) noexcept
     return false;
 }
 
-AudioDocument *
+AudioSubDocument *
 VivyDocument::getAudioSubDocument() const noexcept
 {
     return audioDocument.get();
 }
 
-VideoDocument *
+VideoSubDocument *
 VivyDocument::getVideoSubDocument() const noexcept
 {
     return videoDocument.get();
 }
 
-AssDocument *
+AssSubDocument *
 VivyDocument::getAssSubDocument() const noexcept
 {
     return assDocument.get();
diff --git a/src/Document/VivyDocument.hh b/src/Document/VivyDocument.hh
index 970610d5614e5ae4c03bd1ef7a2db291204d91cf..898bdf5595958ffb7798e9768b1f0096d7f008ab 100644
--- a/src/Document/VivyDocument.hh
+++ b/src/Document/VivyDocument.hh
@@ -6,7 +6,7 @@
 #endif
 
 #include "../Utils.hh"
-#include "CRTPDocument.hh"
+#include "CRTPSubDocument.hh"
 
 #include <memory>
 #include <QString>
@@ -31,9 +31,9 @@ private:
     int documentType{ 0 };
 
     /* Links to other files, they're not embeded inside the vivy file */
-    std::unique_ptr<AudioDocument> audioDocument{};
-    std::unique_ptr<VideoDocument> videoDocument{};
-    std::unique_ptr<AssDocument> assDocument{};
+    std::unique_ptr<AudioSubDocument> audioDocument{};
+    std::unique_ptr<VideoSubDocument> videoDocument{};
+    std::unique_ptr<AssSubDocument> assDocument{};
 
     static bool detectDocumentType(const QFileInfo &file, SubDocument *type);
 
@@ -47,9 +47,9 @@ public:
     bool loadSubDocument(const QString &, SubDocument) noexcept;
 
     /* Getters */
-    AudioDocument *getAudioSubDocument() const noexcept;
-    VideoDocument *getVideoSubDocument() const noexcept;
-    AssDocument *getAssSubDocument() const noexcept;
+    AudioSubDocument *getAudioSubDocument() const noexcept;
+    VideoSubDocument *getVideoSubDocument() const noexcept;
+    AssSubDocument *getAssSubDocument() const noexcept;
     QString getName() const noexcept;
     int getDocumentCapabilities() const noexcept;
 };
diff --git a/src/VivyDocumentView.cc b/src/VivyDocumentView.cc
index b11df389d6b6f8e5d494882e04215da2e7723371..77acc93383b175cdcc32efe127d2fde7fe9b9f75 100644
--- a/src/VivyDocumentView.cc
+++ b/src/VivyDocumentView.cc
@@ -12,7 +12,7 @@ VivyDocumentView::VivyDocumentView(std::weak_ptr<VivyDocument> docWeak, QWidget
         int capabilities = doc->getDocumentCapabilities();
 
         if (capabilities & VivyDocument::AudioAble){
-            AudioDocument *const audioDocument = doc->getAudioSubDocument();
+            AudioSubDocument *const audioDocument = doc->getAudioSubDocument();
             qDebug() << "Create an audio vizualizer for the audio sub document " << audioDocument->getFilePath();
             if (audioDocument != nullptr) {
                 visualizer = AudioVisualizer::fromFile(audioDocument->getFilePath());