diff --git a/.editorconfig b/.editorconfig
deleted file mode 100644
index 0ea0cc46c7617e883d74898c5de02d084c1ce114..0000000000000000000000000000000000000000
--- a/.editorconfig
+++ /dev/null
@@ -1,10 +0,0 @@
-# http://editorconfig.org
-root = true
-
-[*]
-indent_style = space
-indent_size = 4
-end_of_line = lf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
diff --git a/Gruntfile.coffee b/Gruntfile.coffee
index 2eae5b6e9340f986029b82bcd4db72533294e308..6a71246e2f47a07c8d1ff0fff6033643aa2294c1 100644
--- a/Gruntfile.coffee
+++ b/Gruntfile.coffee
@@ -20,13 +20,13 @@ module.exports = (grunt) ->
                     'index.html'
                     'slides/*.md'
                     'slides/*.html'
-                    'js/*.js'
+                    'theme/js/*.js'
                 ]
 
             index:
                 files: [
-                    'templates/_index.html'
-                    'templates/_section.html'
+                    'theme/templates/_index.html'
+                    'theme/templates/_section.html'
                     'slides/list.json'
                 ]
                 tasks: ['buildIndex']
@@ -36,7 +36,7 @@ module.exports = (grunt) ->
                 tasks: ['coffeelint']
 
             jshint:
-                files: ['js/*.js']
+                files: ['theme/js/*.js']
                 tasks: ['jshint']
 
         connect:
@@ -64,7 +64,7 @@ module.exports = (grunt) ->
             options:
                 jshintrc: '.jshintrc'
 
-            all: ['js/*.js']
+            all: ['theme/js/*.js']
 
         copy:
 
@@ -74,10 +74,9 @@ module.exports = (grunt) ->
                     src: [
                         'slides/**'
                         'bower_components/**'
-                        'css/**'
-                        'js/**'
-                        'img/**'
-                        'favicon.ico'
+                        'theme/css/**'
+                        'theme/js/**'
+                        'slides/img/**'
                     ]
                     dest: 'public/'
                 },{
@@ -92,10 +91,10 @@ module.exports = (grunt) ->
     require('load-grunt-tasks')(grunt)
 
     grunt.registerTask 'buildIndex',
-        'Build index.html from templates/_index.html and slides/list.json.',
+        'Build theme/templates/_index.html and slides/list.json.',
         ->
-            indexTemplate = grunt.file.read 'templates/_index.html'
-            sectionTemplate = grunt.file.read 'templates/_section.html'
+            indexTemplate = grunt.file.read 'theme/templates/_index.html'
+            sectionTemplate = grunt.file.read 'theme/templates/_section.html'
             slides = grunt.file.readJSON 'slides/list.json'
 
             html = grunt.template.process indexTemplate, data:
diff --git a/img b/img
deleted file mode 120000
index f2a30196cbad4b787c9b6721910c0a9716813afa..0000000000000000000000000000000000000000
--- a/img
+++ /dev/null
@@ -1 +0,0 @@
-slides/img
\ No newline at end of file
diff --git a/favicon.ico b/slides/img/favicon.ico
similarity index 100%
rename from favicon.ico
rename to slides/img/favicon.ico
diff --git a/slides/index.md b/slides/index.md
index 17c7dcc8931087a39107241556eaf6a816e398e6..67717c6404806305b3e3ae23f7ce72d85ab66ed6 100644
--- a/slides/index.md
+++ b/slides/index.md
@@ -3,7 +3,7 @@
 #### Month XYth, 2019
 
 <div style="top: 6em; left: 0%; position: absolute;">
-    <img src="img/lcsb_bg.png">
+    <img src="slides/img/lcsb_bg.png">
 </div>
 
 <div style="top: 15em; left: 60%; position: absolute;">
diff --git a/slides/thanks.md b/slides/thanks.md
index 495f26d9d2a7207db561ebada884add8cdc8015c..7eb6d2f0d5e552dbc0f5c00221417a907a5682cf 100644
--- a/slides/thanks.md
+++ b/slides/thanks.md
@@ -1,6 +1,6 @@
 ## Thank you.
 
-<center><img src="img/r3-training-logo.png" height="200px"></center>
+<center><img src="slides/img/r3-training-logo.png" height="200px"></center>
 
 Contact us if you need help:
 
diff --git a/css/style.css b/theme/css/style.css
similarity index 100%
rename from css/style.css
rename to theme/css/style.css
diff --git a/js/loadhtmlslides.js b/theme/js/loadhtmlslides.js
similarity index 100%
rename from js/loadhtmlslides.js
rename to theme/js/loadhtmlslides.js
diff --git a/templates/_index.html b/theme/templates/_index.html
similarity index 90%
rename from templates/_index.html
rename to theme/templates/_index.html
index d2558f908dc04ae8f8792efabf8a2f0465ee52be..187487cedd88d2c4bb1185ca53030d137a8820c6 100644
--- a/templates/_index.html
+++ b/theme/templates/_index.html
@@ -15,7 +15,7 @@
 
         <link rel="stylesheet" href="bower_components/reveal.js/css/theme/lcsb.css" id="theme">
 
-        <link rel="stylesheet" href="css/style.css">
+        <link rel="stylesheet" href="theme/css/style.css">
 
         <!-- For syntax highlighting -->
         <link rel="stylesheet" href="bower_components/reveal.js/lib/css/zenburn.css" id="highlight-theme">
@@ -29,7 +29,7 @@
         <script src="lib/js/html5shiv.js"></script>
         <![endif]-->
 
-        <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
+        <link rel="shortcut icon" type="image/x-icon" href="slides/img/favicon.ico" />
         <link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Lato" />
     </head>
 
@@ -52,10 +52,10 @@
                 <% }); %>
             </div>
             <div class="bottomLogoLeft">
-                <img src="img/University-of-Luxembourg-Fr-01.svg" height="110px">
+                <img src="slides/img/University-of-Luxembourg-Fr-01.svg" height="110px">
             </div>
             <div class="bottomLogoRight">
-                    <img src="img/LCSB_short_small_4c_cropped.svg" height="86px">
+                    <img src="slides/img/LCSB_short_small_4c_cropped.svg" height="86px">
             </div>
         </div>
 
@@ -86,7 +86,7 @@
                     // { src: 'plugin/search/search.js', async: true, condition: function() { return !!document.body.classList; } }
                     //{ src: 'bower_components/reveal.js/plugin/remotes/remotes.js', async: true, condition: function() { return !!document.body.classList; } }
 
-                    { src: 'js/loadhtmlslides.js', condition: function() { return !!document.querySelector( '[data-html]' ); } }
+                    { src: 'theme/js/loadhtmlslides.js', condition: function() { return !!document.querySelector( '[data-html]' ); } }
                 ]
             });
         </script>
diff --git a/templates/_section.html b/theme/templates/_section.html
similarity index 100%
rename from templates/_section.html
rename to theme/templates/_section.html