diff --git a/app/static/js/CorpusAnalysis/CorpusAnalysisApp.js b/app/static/js/corpus-analysis/app.js
similarity index 99%
rename from app/static/js/CorpusAnalysis/CorpusAnalysisApp.js
rename to app/static/js/corpus-analysis/app.js
index f364d816cf22d20bf28e8e748da8747bf79f375b..522dc7f4680056660c65521b5f001124efadb7d8 100644
--- a/app/static/js/CorpusAnalysis/CorpusAnalysisApp.js
+++ b/app/static/js/corpus-analysis/app.js
@@ -1,4 +1,4 @@
-class CorpusAnalysisApp {
+nopaque.corpus_analysis.App = class App {
   constructor(corpusId) {
     this.corpusId = corpusId;
 
diff --git a/app/static/js/CorpusAnalysis/CorpusAnalysisConcordance.js b/app/static/js/corpus-analysis/concordance-extension.js
similarity index 99%
rename from app/static/js/CorpusAnalysis/CorpusAnalysisConcordance.js
rename to app/static/js/corpus-analysis/concordance-extension.js
index fd32c49c9f1a43d554aca259a0cd01f3dc7af33c..46a5c32a59645e528308c9037921015903e1448c 100644
--- a/app/static/js/CorpusAnalysis/CorpusAnalysisConcordance.js
+++ b/app/static/js/corpus-analysis/concordance-extension.js
@@ -1,4 +1,4 @@
-class CorpusAnalysisConcordance {
+nopaque.corpus_analysis.ConcordanceExtension = class ConcordanceExtension {
   name = 'Concordance';
 
   constructor(app) {
diff --git a/app/static/js/CorpusAnalysis/cqi/api/client.js b/app/static/js/corpus-analysis/cqi/api/client.js
similarity index 100%
rename from app/static/js/CorpusAnalysis/cqi/api/client.js
rename to app/static/js/corpus-analysis/cqi/api/client.js
diff --git a/app/static/js/CorpusAnalysis/cqi/api/index.js b/app/static/js/corpus-analysis/cqi/api/index.js
similarity index 100%
rename from app/static/js/CorpusAnalysis/cqi/api/index.js
rename to app/static/js/corpus-analysis/cqi/api/index.js
diff --git a/app/static/js/CorpusAnalysis/cqi/client.js b/app/static/js/corpus-analysis/cqi/client.js
similarity index 100%
rename from app/static/js/CorpusAnalysis/cqi/client.js
rename to app/static/js/corpus-analysis/cqi/client.js
diff --git a/app/static/js/CorpusAnalysis/cqi/constants.js b/app/static/js/corpus-analysis/cqi/constants.js
similarity index 100%
rename from app/static/js/CorpusAnalysis/cqi/constants.js
rename to app/static/js/corpus-analysis/cqi/constants.js
diff --git a/app/static/js/CorpusAnalysis/cqi/errors.js b/app/static/js/corpus-analysis/cqi/errors.js
similarity index 100%
rename from app/static/js/CorpusAnalysis/cqi/errors.js
rename to app/static/js/corpus-analysis/cqi/errors.js
diff --git a/app/static/js/CorpusAnalysis/cqi/index.js b/app/static/js/corpus-analysis/cqi/index.js
similarity index 100%
rename from app/static/js/CorpusAnalysis/cqi/index.js
rename to app/static/js/corpus-analysis/cqi/index.js
diff --git a/app/static/js/CorpusAnalysis/cqi/models/attributes.js b/app/static/js/corpus-analysis/cqi/models/attributes.js
similarity index 100%
rename from app/static/js/CorpusAnalysis/cqi/models/attributes.js
rename to app/static/js/corpus-analysis/cqi/models/attributes.js
diff --git a/app/static/js/CorpusAnalysis/cqi/models/corpora.js b/app/static/js/corpus-analysis/cqi/models/corpora.js
similarity index 100%
rename from app/static/js/CorpusAnalysis/cqi/models/corpora.js
rename to app/static/js/corpus-analysis/cqi/models/corpora.js
diff --git a/app/static/js/CorpusAnalysis/cqi/models/index.js b/app/static/js/corpus-analysis/cqi/models/index.js
similarity index 100%
rename from app/static/js/CorpusAnalysis/cqi/models/index.js
rename to app/static/js/corpus-analysis/cqi/models/index.js
diff --git a/app/static/js/CorpusAnalysis/cqi/models/resource.js b/app/static/js/corpus-analysis/cqi/models/resource.js
similarity index 100%
rename from app/static/js/CorpusAnalysis/cqi/models/resource.js
rename to app/static/js/corpus-analysis/cqi/models/resource.js
diff --git a/app/static/js/CorpusAnalysis/cqi/models/subcorpora.js b/app/static/js/corpus-analysis/cqi/models/subcorpora.js
similarity index 100%
rename from app/static/js/CorpusAnalysis/cqi/models/subcorpora.js
rename to app/static/js/corpus-analysis/cqi/models/subcorpora.js
diff --git a/app/static/js/CorpusAnalysis/cqi/status.js b/app/static/js/corpus-analysis/cqi/status.js
similarity index 100%
rename from app/static/js/CorpusAnalysis/cqi/status.js
rename to app/static/js/corpus-analysis/cqi/status.js
diff --git a/app/static/js/CorpusAnalysis/index.js b/app/static/js/corpus-analysis/index.js
similarity index 100%
rename from app/static/js/CorpusAnalysis/index.js
rename to app/static/js/corpus-analysis/index.js
diff --git a/app/static/js/CorpusAnalysis/query-builder/element-references.js b/app/static/js/corpus-analysis/query-builder/element-references.js
similarity index 100%
rename from app/static/js/CorpusAnalysis/query-builder/element-references.js
rename to app/static/js/corpus-analysis/query-builder/element-references.js
diff --git a/app/static/js/CorpusAnalysis/query-builder/general-query-builder-functions.js b/app/static/js/corpus-analysis/query-builder/general-query-builder-functions.js
similarity index 100%
rename from app/static/js/CorpusAnalysis/query-builder/general-query-builder-functions.js
rename to app/static/js/corpus-analysis/query-builder/general-query-builder-functions.js
diff --git a/app/static/js/CorpusAnalysis/query-builder/index.js b/app/static/js/corpus-analysis/query-builder/index.js
similarity index 100%
rename from app/static/js/CorpusAnalysis/query-builder/index.js
rename to app/static/js/corpus-analysis/query-builder/index.js
diff --git a/app/static/js/CorpusAnalysis/query-builder/structural-attribute-builder-functions.js b/app/static/js/corpus-analysis/query-builder/structural-attribute-builder-functions.js
similarity index 100%
rename from app/static/js/CorpusAnalysis/query-builder/structural-attribute-builder-functions.js
rename to app/static/js/corpus-analysis/query-builder/structural-attribute-builder-functions.js
diff --git a/app/static/js/CorpusAnalysis/query-builder/token-attribute-builder-functions.js b/app/static/js/corpus-analysis/query-builder/token-attribute-builder-functions.js
similarity index 100%
rename from app/static/js/CorpusAnalysis/query-builder/token-attribute-builder-functions.js
rename to app/static/js/corpus-analysis/query-builder/token-attribute-builder-functions.js
diff --git a/app/static/js/CorpusAnalysis/CorpusAnalysisReader.js b/app/static/js/corpus-analysis/reader-extension.js
similarity index 99%
rename from app/static/js/CorpusAnalysis/CorpusAnalysisReader.js
rename to app/static/js/corpus-analysis/reader-extension.js
index bbafbc277eb9adc96a7bb491ceba714b7c3cd2a7..da871c5a8800af60d049b357a3dcbcf113a0534c 100644
--- a/app/static/js/CorpusAnalysis/CorpusAnalysisReader.js
+++ b/app/static/js/corpus-analysis/reader-extension.js
@@ -1,4 +1,4 @@
-class CorpusAnalysisReader {
+nopaque.corpus_analysis.ReaderExtension = class ReaderExtension {
   name = 'Reader';
 
   constructor(app) {
diff --git a/app/static/js/CorpusAnalysis/CorpusAnalysisStaticVisualization.js b/app/static/js/corpus-analysis/static-visualization-extension.js
similarity index 99%
rename from app/static/js/CorpusAnalysis/CorpusAnalysisStaticVisualization.js
rename to app/static/js/corpus-analysis/static-visualization-extension.js
index 3865512cd25d94fb460b57a7bb608fa088cb479f..2deb728b38685cbd22d6522163be23081e06d320 100644
--- a/app/static/js/CorpusAnalysis/CorpusAnalysisStaticVisualization.js
+++ b/app/static/js/corpus-analysis/static-visualization-extension.js
@@ -1,4 +1,4 @@
-class CorpusAnalysisStaticVisualization {
+nopaque.corpus_analysis.StaticVisualizationExtension = class StaticVisualizationExtension {
   name = 'Static Visualization (beta)';
 
   constructor(app) {
diff --git a/app/templates/_scripts.html.j2 b/app/templates/_scripts.html.j2
index f361f1dd4425afd4d8c8d16356523d73b7996c22..7b6aad12707fdfafd28a8c48fdd3ddc58d7ddebd 100644
--- a/app/templates/_scripts.html.j2
+++ b/app/templates/_scripts.html.j2
@@ -76,28 +76,28 @@
 {%- assets
   filters='rjsmin',
   output='gen/corpus-analysis.%(version)s.js',
-  'js/CorpusAnalysis/index.js',
-  'js/CorpusAnalysis/cqi/index.js',
-  'js/CorpusAnalysis/cqi/constants.js',
-  'js/CorpusAnalysis/cqi/errors.js',
-  'js/CorpusAnalysis/cqi/status.js',
-  'js/CorpusAnalysis/cqi/api/index.js',
-  'js/CorpusAnalysis/cqi/api/client.js',
-  'js/CorpusAnalysis/cqi/models/index.js',
-  'js/CorpusAnalysis/cqi/models/resource.js',
-  'js/CorpusAnalysis/cqi/models/attributes.js',
-  'js/CorpusAnalysis/cqi/models/subcorpora.js',
-  'js/CorpusAnalysis/cqi/models/corpora.js',
-  'js/CorpusAnalysis/cqi/client.js',
-  'js/CorpusAnalysis/query-builder/index.js',
-  'js/CorpusAnalysis/query-builder/element-references.js',
-  'js/CorpusAnalysis/query-builder/general-query-builder-functions.js',
-  'js/CorpusAnalysis/query-builder/structural-attribute-builder-functions.js',
-  'js/CorpusAnalysis/query-builder/token-attribute-builder-functions.js',
-  'js/CorpusAnalysis/CorpusAnalysisApp.js',
-  'js/CorpusAnalysis/CorpusAnalysisConcordance.js',
-  'js/CorpusAnalysis/CorpusAnalysisReader.js',
-  'js/CorpusAnalysis/CorpusAnalysisStaticVisualization.js'
+  'js/corpus-analysis/index.js',
+  'js/corpus-analysis/cqi/index.js',
+  'js/corpus-analysis/cqi/constants.js',
+  'js/corpus-analysis/cqi/errors.js',
+  'js/corpus-analysis/cqi/status.js',
+  'js/corpus-analysis/cqi/api/index.js',
+  'js/corpus-analysis/cqi/api/client.js',
+  'js/corpus-analysis/cqi/models/index.js',
+  'js/corpus-analysis/cqi/models/resource.js',
+  'js/corpus-analysis/cqi/models/attributes.js',
+  'js/corpus-analysis/cqi/models/subcorpora.js',
+  'js/corpus-analysis/cqi/models/corpora.js',
+  'js/corpus-analysis/cqi/client.js',
+  'js/corpus-analysis/query-builder/index.js',
+  'js/corpus-analysis/query-builder/element-references.js',
+  'js/corpus-analysis/query-builder/general-query-builder-functions.js',
+  'js/corpus-analysis/query-builder/structural-attribute-builder-functions.js',
+  'js/corpus-analysis/query-builder/token-attribute-builder-functions.js',
+  'js/corpus-analysis/app.js',
+  'js/corpus-analysis/concordance-extension.js',
+  'js/corpus-analysis/reader-extension.js',
+  'js/corpus-analysis/static-visualization-extension.js'
 %}
 <script src="{{ ASSET_URL }}"></script>
 {%- endassets %}
diff --git a/app/templates/corpora/_analysis/concordance.html.j2 b/app/templates/corpora/_analysis/concordance.html.j2
index f50578bdf05f989fed1b475219f03031bd4a80a1..9ff4a4bd4c86c2129ac2770883b496af9fc7be62 100644
--- a/app/templates/corpora/_analysis/concordance.html.j2
+++ b/app/templates/corpora/_analysis/concordance.html.j2
@@ -128,7 +128,7 @@
 {# The extension scripts #}
 {% macro scripts() %}
 <script>
-  const corpusAnalysisConcordance = new CorpusAnalysisConcordance(corpusAnalysisApp);
+  const corpusAnalysisConcordance = new nopaque.corpus_analysis.ConcordanceExtension(corpusAnalysisApp);
   const concordanceQueryBuilder = new ConcordanceQueryBuilder();
 </script>
 {% endmacro %}
diff --git a/app/templates/corpora/_analysis/reader.html.j2 b/app/templates/corpora/_analysis/reader.html.j2
index ebed2daea7aad2dad40b8d1b8bfb204179b7f149..187a4aaba5a750f7fa51d8fa54e27cbb0e7fbfae 100644
--- a/app/templates/corpora/_analysis/reader.html.j2
+++ b/app/templates/corpora/_analysis/reader.html.j2
@@ -79,6 +79,6 @@
 {# The extension scripts #}
 {% macro scripts() %}
 <script>
-  const corpusAnalysisReader = new CorpusAnalysisReader(corpusAnalysisApp);
+  const corpusAnalysisReader = new nopaque.corpus_analysis.ReaderExtension(corpusAnalysisApp);
 </script>
 {% endmacro %}
diff --git a/app/templates/corpora/_analysis/static_visualization.html.j2 b/app/templates/corpora/_analysis/static_visualization.html.j2
index 61b0391602ecbd476a3c4f968cb86eb57bfa69fd..141b4dbbd5ba90eefa97299458365ec94b39cf05 100644
--- a/app/templates/corpora/_analysis/static_visualization.html.j2
+++ b/app/templates/corpora/_analysis/static_visualization.html.j2
@@ -158,7 +158,7 @@
 
 {% macro scripts() %}
 <script>
-  const corpusAnalysisStaticVisualization = new CorpusAnalysisStaticVisualization(corpusAnalysisApp);
+  const corpusAnalysisStaticVisualization = new nopaque.corpus_analysis.StaticVisualizationExtension(corpusAnalysisApp);
 </script>
 {% endmacro %}
  
\ No newline at end of file
diff --git a/app/templates/corpora/analysis.html.j2 b/app/templates/corpora/analysis.html.j2
index 4f33ca341d4ec9f158983c86c3186b20a46f469a..1d501b3189aaf2010159dc364265d31843eb71ec 100644
--- a/app/templates/corpora/analysis.html.j2
+++ b/app/templates/corpora/analysis.html.j2
@@ -81,7 +81,7 @@
 {% block scripts %}
 {{ super() }}
 <script>
-  const corpusAnalysisApp = new CorpusAnalysisApp({{ corpus.hashid|tojson }});
+  const corpusAnalysisApp = new nopaque.corpus_analysis.App({{ corpus.hashid|tojson }});
 </script>
 
 {{ concordance_extension.scripts() }}