diff --git a/Makefile b/Makefile
index 4e037848b..953f9e82d 100644
--- a/Makefile
+++ b/Makefile
@@ -71,9 +71,11 @@ lint:
 	$(ESLINT) ./src/*.js
 	$(ESLINT) ./src/mixins/*.jsx
 	$(ESLINT) ./src/views/**/*.jsx
+	$(ESLINT) ./src/components/**/*.jsx
 	$(ESLINT) ./src/components/**/**/*.jsx
 	$(SASSLINT) ./src/*.scss
 	$(SASSLINT) ./src/views/**/*.scss
+	$(SASSLINT) ./src/components/**/*.scss
 	$(SASSLINT) ./src/components/**/**/*.scss
 
 unit:
diff --git a/src/components/presentation/accordion/accordion.jsx b/src/components/accordion/accordion.jsx
similarity index 100%
rename from src/components/presentation/accordion/accordion.jsx
rename to src/components/accordion/accordion.jsx
diff --git a/src/components/presentation/accordion/accordion.scss b/src/components/accordion/accordion.scss
similarity index 100%
rename from src/components/presentation/accordion/accordion.scss
rename to src/components/accordion/accordion.scss
diff --git a/src/components/presentation/activity/activity.json b/src/components/activity/activity.json
similarity index 100%
rename from src/components/presentation/activity/activity.json
rename to src/components/activity/activity.json
diff --git a/src/components/presentation/activity/activity.jsx b/src/components/activity/activity.jsx
similarity index 100%
rename from src/components/presentation/activity/activity.jsx
rename to src/components/activity/activity.jsx
diff --git a/src/components/presentation/activity/activity.scss b/src/components/activity/activity.scss
similarity index 96%
rename from src/components/presentation/activity/activity.scss
rename to src/components/activity/activity.scss
index 8d2772958..051911574 100644
--- a/src/components/presentation/activity/activity.scss
+++ b/src/components/activity/activity.scss
@@ -1,4 +1,4 @@
-@import "../../../colors";
+@import "../../colors";
 
 .activity {
     ul {
diff --git a/src/components/presentation/adminpanel/adminpanel.jsx b/src/components/adminpanel/adminpanel.jsx
similarity index 100%
rename from src/components/presentation/adminpanel/adminpanel.jsx
rename to src/components/adminpanel/adminpanel.jsx
diff --git a/src/components/presentation/adminpanel/adminpanel.scss b/src/components/adminpanel/adminpanel.scss
similarity index 97%
rename from src/components/presentation/adminpanel/adminpanel.scss
rename to src/components/adminpanel/adminpanel.scss
index 7f48764d5..6b8c36907 100644
--- a/src/components/presentation/adminpanel/adminpanel.scss
+++ b/src/components/adminpanel/adminpanel.scss
@@ -1,4 +1,4 @@
-@import "../../../colors";
+@import "../../colors";
 
 #admin-panel {
     position: fixed;
diff --git a/src/components/presentation/avatar/avatar.jsx b/src/components/avatar/avatar.jsx
similarity index 100%
rename from src/components/presentation/avatar/avatar.jsx
rename to src/components/avatar/avatar.jsx
diff --git a/src/components/presentation/avatar/avatar.scss b/src/components/avatar/avatar.scss
similarity index 100%
rename from src/components/presentation/avatar/avatar.scss
rename to src/components/avatar/avatar.scss
diff --git a/src/components/presentation/box/box.jsx b/src/components/box/box.jsx
similarity index 100%
rename from src/components/presentation/box/box.jsx
rename to src/components/box/box.jsx
diff --git a/src/components/presentation/box/box.scss b/src/components/box/box.scss
similarity index 96%
rename from src/components/presentation/box/box.scss
rename to src/components/box/box.scss
index 5389390cc..01310720f 100644
--- a/src/components/presentation/box/box.scss
+++ b/src/components/box/box.scss
@@ -1,5 +1,5 @@
-@import "../../../colors";
-@import "../../../frameless";
+@import "../../colors";
+@import "../../frameless";
 
 $base-bg: $ui-white;
 
diff --git a/src/components/presentation/carousel/carousel.json b/src/components/carousel/carousel.json
similarity index 100%
rename from src/components/presentation/carousel/carousel.json
rename to src/components/carousel/carousel.json
diff --git a/src/components/presentation/carousel/carousel.jsx b/src/components/carousel/carousel.jsx
similarity index 100%
rename from src/components/presentation/carousel/carousel.jsx
rename to src/components/carousel/carousel.jsx
diff --git a/src/components/presentation/carousel/carousel.scss b/src/components/carousel/carousel.scss
similarity index 98%
rename from src/components/presentation/carousel/carousel.scss
rename to src/components/carousel/carousel.scss
index 0eeeb0e3c..b8fbcdbf4 100644
--- a/src/components/presentation/carousel/carousel.scss
+++ b/src/components/carousel/carousel.scss
@@ -1,4 +1,4 @@
-@import "../../../colors";
+@import "../../colors";
 
 .carousel {
     $icon-size: 40px;
diff --git a/src/components/presentation/dropdown-banner/banner.jsx b/src/components/dropdown-banner/banner.jsx
similarity index 100%
rename from src/components/presentation/dropdown-banner/banner.jsx
rename to src/components/dropdown-banner/banner.jsx
diff --git a/src/components/presentation/dropdown-banner/banner.scss b/src/components/dropdown-banner/banner.scss
similarity index 96%
rename from src/components/presentation/dropdown-banner/banner.scss
rename to src/components/dropdown-banner/banner.scss
index 22f6af9f9..64a69d638 100644
--- a/src/components/presentation/dropdown-banner/banner.scss
+++ b/src/components/dropdown-banner/banner.scss
@@ -1,4 +1,4 @@
-@import "../../../colors";
+@import "../../colors";
 
 $navigation-height: 50px;
 
diff --git a/src/components/presentation/dropdown/dropdown.jsx b/src/components/dropdown/dropdown.jsx
similarity index 100%
rename from src/components/presentation/dropdown/dropdown.jsx
rename to src/components/dropdown/dropdown.jsx
diff --git a/src/components/presentation/dropdown/dropdown.scss b/src/components/dropdown/dropdown.scss
similarity index 98%
rename from src/components/presentation/dropdown/dropdown.scss
rename to src/components/dropdown/dropdown.scss
index 28a883bed..78ef27a81 100644
--- a/src/components/presentation/dropdown/dropdown.scss
+++ b/src/components/dropdown/dropdown.scss
@@ -1,4 +1,4 @@
-@import "../../../colors";
+@import "../../colors";
 
 .dropdown {
     display: none;
diff --git a/src/components/presentation/flex-row/flex-row.jsx b/src/components/flex-row/flex-row.jsx
similarity index 100%
rename from src/components/presentation/flex-row/flex-row.jsx
rename to src/components/flex-row/flex-row.jsx
diff --git a/src/components/presentation/flex-row/flex-row.scss b/src/components/flex-row/flex-row.scss
similarity index 91%
rename from src/components/presentation/flex-row/flex-row.scss
rename to src/components/flex-row/flex-row.scss
index 27090a30d..5f3b310f8 100644
--- a/src/components/presentation/flex-row/flex-row.scss
+++ b/src/components/flex-row/flex-row.scss
@@ -1,4 +1,4 @@
-@import "../../../frameless";
+@import "../../frameless";
 
 .flex-row {
     display: flex;
diff --git a/src/components/container/footer/conference/footer.jsx b/src/components/footer/conference/footer.jsx
similarity index 97%
rename from src/components/container/footer/conference/footer.jsx
rename to src/components/footer/conference/footer.jsx
index ee97a6dc5..f6736baed 100644
--- a/src/components/container/footer/conference/footer.jsx
+++ b/src/components/footer/conference/footer.jsx
@@ -1,7 +1,7 @@
 var React = require('react');
 
-var FlexRow = require('../../../presentation/flex-row/flex-row.jsx');
-var FooterBox = require('../../../presentation/footer/footer.jsx');
+var FlexRow = require('../../flex-row/flex-row.jsx');
+var FooterBox = require('../container/footer.jsx');
 
 require('./footer.scss');
 
diff --git a/src/components/container/footer/conference/footer.scss b/src/components/footer/conference/footer.scss
similarity index 96%
rename from src/components/container/footer/conference/footer.scss
rename to src/components/footer/conference/footer.scss
index 7c5d4932d..b5d5d3730 100644
--- a/src/components/container/footer/conference/footer.scss
+++ b/src/components/footer/conference/footer.scss
@@ -1,6 +1,6 @@
-@import "../../../../colors";
-@import "../../../../frameless";
-@import "../../../../typography";
+@import "../../../colors";
+@import "../../../frameless";
+@import "../../../typography";
 
 #footer {
     .inner {
diff --git a/src/components/presentation/footer/footer.jsx b/src/components/footer/container/footer.jsx
similarity index 100%
rename from src/components/presentation/footer/footer.jsx
rename to src/components/footer/container/footer.jsx
diff --git a/src/components/presentation/footer/footer.scss b/src/components/footer/container/footer.scss
similarity index 100%
rename from src/components/presentation/footer/footer.scss
rename to src/components/footer/container/footer.scss
diff --git a/src/components/container/footer/www/footer.jsx b/src/components/footer/www/footer.jsx
similarity index 98%
rename from src/components/container/footer/www/footer.jsx
rename to src/components/footer/www/footer.jsx
index 6a7f60b1b..3b4cb2278 100644
--- a/src/components/container/footer/www/footer.jsx
+++ b/src/components/footer/www/footer.jsx
@@ -1,8 +1,8 @@
 var React = require('react');
 var FormattedMessage = require('react-intl').FormattedMessage;
 
-var FooterBox = require('../../../presentation/footer/footer.jsx');
-var LanguageChooser = require('../../../presentation/languagechooser/languagechooser.jsx');
+var FooterBox = require('../container/footer.jsx');
+var LanguageChooser = require('../../languagechooser/languagechooser.jsx');
 
 require('./footer.scss');
 
diff --git a/src/components/container/footer/www/footer.scss b/src/components/footer/www/footer.scss
similarity index 96%
rename from src/components/container/footer/www/footer.scss
rename to src/components/footer/www/footer.scss
index 0f06a0af8..618e73d83 100644
--- a/src/components/container/footer/www/footer.scss
+++ b/src/components/footer/www/footer.scss
@@ -1,4 +1,4 @@
-@import "../../../../colors";
+@import "../../../colors";
 
 #footer {
     .lists {
diff --git a/src/components/presentation/forms/button.jsx b/src/components/forms/button.jsx
similarity index 100%
rename from src/components/presentation/forms/button.jsx
rename to src/components/forms/button.jsx
diff --git a/src/components/presentation/forms/button.scss b/src/components/forms/button.scss
similarity index 97%
rename from src/components/presentation/forms/button.scss
rename to src/components/forms/button.scss
index fcea9e091..c91976c1d 100644
--- a/src/components/presentation/forms/button.scss
+++ b/src/components/forms/button.scss
@@ -1,4 +1,4 @@
-@import "../../../colors";
+@import "../../colors";
 
 $base-bg: $ui-white;
 $fail-bg: $ui-orange;
diff --git a/src/components/presentation/forms/input.jsx b/src/components/forms/input.jsx
similarity index 100%
rename from src/components/presentation/forms/input.jsx
rename to src/components/forms/input.jsx
diff --git a/src/components/presentation/forms/input.scss b/src/components/forms/input.scss
similarity index 96%
rename from src/components/presentation/forms/input.scss
rename to src/components/forms/input.scss
index c845c12b4..19669f365 100644
--- a/src/components/presentation/forms/input.scss
+++ b/src/components/forms/input.scss
@@ -1,4 +1,4 @@
-@import "../../../colors";
+@import "../../colors";
 
 $base-bg: $ui-white;
 $focus-bg: lighten($ui-blue, 35%);
diff --git a/src/components/presentation/forms/select.jsx b/src/components/forms/select.jsx
similarity index 100%
rename from src/components/presentation/forms/select.jsx
rename to src/components/forms/select.jsx
diff --git a/src/components/presentation/forms/select.scss b/src/components/forms/select.scss
similarity index 82%
rename from src/components/presentation/forms/select.scss
rename to src/components/forms/select.scss
index 3e61997f7..34e1dd16c 100644
--- a/src/components/presentation/forms/select.scss
+++ b/src/components/forms/select.scss
@@ -1,4 +1,4 @@
-@import "../../../colors";
+@import "../../colors";
 
 .select {
     background-color: $ui-white;
diff --git a/src/components/container/intro/intro.jsx b/src/components/intro/intro.jsx
similarity index 97%
rename from src/components/container/intro/intro.jsx
rename to src/components/intro/intro.jsx
index 11b630530..07e58f281 100644
--- a/src/components/container/intro/intro.jsx
+++ b/src/components/intro/intro.jsx
@@ -2,10 +2,10 @@ var connect = require('react-redux').connect;
 var omit = require('lodash.omit');
 var React = require('react');
 
-var actions = require('../../../redux/actions.js');
+var actions = require('../../redux/actions.js');
 
-var Modal = require('../../presentation/modal/modal.jsx');
-var Registration = require('../../presentation/registration/registration.jsx');
+var Modal = require('../modal/modal.jsx');
+var Registration = require('../registration/registration.jsx');
 
 require('./intro.scss');
 
diff --git a/src/components/container/intro/intro.scss b/src/components/intro/intro.scss
similarity index 99%
rename from src/components/container/intro/intro.scss
rename to src/components/intro/intro.scss
index 5236b7eb2..d8fb1e43b 100644
--- a/src/components/container/intro/intro.scss
+++ b/src/components/intro/intro.scss
@@ -1,4 +1,4 @@
-@import "../../../colors";
+@import "../../colors";
 
 .intro {
     display: flex;
diff --git a/src/components/presentation/languagechooser/languagechooser.jsx b/src/components/languagechooser/languagechooser.jsx
similarity index 89%
rename from src/components/presentation/languagechooser/languagechooser.jsx
rename to src/components/languagechooser/languagechooser.jsx
index 74ef1da22..765f883ba 100644
--- a/src/components/presentation/languagechooser/languagechooser.jsx
+++ b/src/components/languagechooser/languagechooser.jsx
@@ -1,9 +1,9 @@
 var classNames = require('classnames');
 var React = require('react');
 
-var Api = require('../../../mixins/api.jsx');
-var jar  = require('../../../lib/jar.js');
-var languages = require('../../../../languages.json');
+var Api = require('../../mixins/api.jsx');
+var jar  = require('../../lib/jar.js');
+var languages = require('../../../languages.json');
 var Select = require('../forms/select.jsx');
 
 /**
diff --git a/src/components/container/login/login.jsx b/src/components/login/login.jsx
similarity index 92%
rename from src/components/container/login/login.jsx
rename to src/components/login/login.jsx
index 4cca1a424..d12ce2361 100644
--- a/src/components/container/login/login.jsx
+++ b/src/components/login/login.jsx
@@ -2,11 +2,11 @@ var React = require('react');
 var ReactDOM = require('react-dom');
 var FormattedMessage = require('react-intl').FormattedMessage;
 
-var log = require('../../../lib/log.js');
+var log = require('../../lib/log.js');
 
-var Input = require('../../presentation/forms/input.jsx');
-var Button = require('../../presentation/forms/button.jsx');
-var Spinner = require('../../presentation/spinner/spinner.jsx');
+var Input = require('../forms/input.jsx');
+var Button = require('../forms/button.jsx');
+var Spinner = require('../spinner/spinner.jsx');
 
 require('./login.scss');
 
diff --git a/src/components/container/login/login.scss b/src/components/login/login.scss
similarity index 95%
rename from src/components/container/login/login.scss
rename to src/components/login/login.scss
index b5842f084..5f70c0b08 100644
--- a/src/components/container/login/login.scss
+++ b/src/components/login/login.scss
@@ -1,4 +1,4 @@
-@import "../../../colors";
+@import "../../colors";
 
 .login {
     padding: 10px;
diff --git a/src/components/container/microworld/microworld.jsx b/src/components/microworld/microworld.jsx
similarity index 97%
rename from src/components/container/microworld/microworld.jsx
rename to src/components/microworld/microworld.jsx
index a2574600c..860694a41 100644
--- a/src/components/container/microworld/microworld.jsx
+++ b/src/components/microworld/microworld.jsx
@@ -2,10 +2,10 @@ var React = require('react');
 
 require('./microworld.scss');
 
-var Box = require('../../presentation/box/box.jsx');
-var Carousel = require('../../presentation/carousel/carousel.jsx');
-var Modal = require('../../presentation/modal/modal.jsx');
-var NestedCarousel = require('../../presentation/nestedcarousel/nestedcarousel.jsx');
+var Box = require('../box/box.jsx');
+var Carousel = require('../carousel/carousel.jsx');
+var Modal = require('../modal/modal.jsx');
+var NestedCarousel = require('../nestedcarousel/nestedcarousel.jsx');
 
 var Microworld = React.createClass({
     type: 'Microworld',
diff --git a/src/components/container/microworld/microworld.scss b/src/components/microworld/microworld.scss
similarity index 98%
rename from src/components/container/microworld/microworld.scss
rename to src/components/microworld/microworld.scss
index 15bce7ff2..b18adda58 100644
--- a/src/components/container/microworld/microworld.scss
+++ b/src/components/microworld/microworld.scss
@@ -1,5 +1,5 @@
-@import "../../../colors";
-@import "../../../frameless";
+@import "../../colors";
+@import "../../frameless";
 
 $base-bg: $ui-white;
 
diff --git a/src/components/presentation/modal/modal.jsx b/src/components/modal/modal.jsx
similarity index 100%
rename from src/components/presentation/modal/modal.jsx
rename to src/components/modal/modal.jsx
diff --git a/src/components/presentation/modal/modal.scss b/src/components/modal/modal.scss
similarity index 95%
rename from src/components/presentation/modal/modal.scss
rename to src/components/modal/modal.scss
index 2ab1fb13a..fae33030d 100644
--- a/src/components/presentation/modal/modal.scss
+++ b/src/components/modal/modal.scss
@@ -1,4 +1,4 @@
-@import "../../../colors";
+@import "../../colors";
 
 .ReactModal__Content {
     iframe {
diff --git a/src/components/container/navigation/conference/navigation.jsx b/src/components/navigation/conference/navigation.jsx
similarity index 92%
rename from src/components/container/navigation/conference/navigation.jsx
rename to src/components/navigation/conference/navigation.jsx
index 754e4f338..68b5831c6 100644
--- a/src/components/container/navigation/conference/navigation.jsx
+++ b/src/components/navigation/conference/navigation.jsx
@@ -1,6 +1,6 @@
 var React = require('react');
 
-var NavigationBox = require('../../../presentation/navigation/navigation.jsx');
+var NavigationBox = require('../container/navigation.jsx');
 
 require('./navigation.scss');
 
diff --git a/src/components/container/navigation/conference/navigation.scss b/src/components/navigation/conference/navigation.scss
similarity index 96%
rename from src/components/container/navigation/conference/navigation.scss
rename to src/components/navigation/conference/navigation.scss
index 0e1325fb3..5571399c1 100644
--- a/src/components/container/navigation/conference/navigation.scss
+++ b/src/components/navigation/conference/navigation.scss
@@ -1,5 +1,5 @@
-@import "../../../../colors";
-@import "../../../../frameless";
+@import "../../../colors";
+@import "../../../frameless";
 
 #navigation {
     .inner {
diff --git a/src/components/presentation/navigation/navigation.jsx b/src/components/navigation/container/navigation.jsx
similarity index 100%
rename from src/components/presentation/navigation/navigation.jsx
rename to src/components/navigation/container/navigation.jsx
diff --git a/src/components/presentation/navigation/navigation.scss b/src/components/navigation/container/navigation.scss
similarity index 100%
rename from src/components/presentation/navigation/navigation.scss
rename to src/components/navigation/container/navigation.scss
diff --git a/src/components/container/navigation/www/navigation.jsx b/src/components/navigation/www/navigation.jsx
similarity index 96%
rename from src/components/container/navigation/www/navigation.jsx
rename to src/components/navigation/www/navigation.jsx
index 905a023d0..a709b2fda 100644
--- a/src/components/container/navigation/www/navigation.jsx
+++ b/src/components/navigation/www/navigation.jsx
@@ -5,17 +5,17 @@ var ReactIntl = require('react-intl');
 var FormattedMessage = ReactIntl.FormattedMessage;
 var injectIntl = ReactIntl.injectIntl;
 
-var actions = require('../../../../redux/actions.js');
+var actions = require('../../../redux/actions.js');
 
-var Api = require('../../../../mixins/api.jsx');
-var Avatar = require('../../../presentation/avatar/avatar.jsx');
-var Dropdown = require('../../../presentation/dropdown/dropdown.jsx');
-var Input = require('../../../presentation/forms/input.jsx');
-var log = require('../../../../lib/log.js');
+var Api = require('../../../mixins/api.jsx');
+var Avatar = require('../../avatar/avatar.jsx');
+var Dropdown = require('../../dropdown/dropdown.jsx');
+var Input = require('../../forms/input.jsx');
+var log = require('../../../lib/log.js');
 var Login = require('../../login/login.jsx');
-var Modal = require('../../../presentation/modal/modal.jsx');
-var NavigationBox = require('../../../presentation/navigation/navigation.jsx');
-var Registration = require('../../../presentation/registration/registration.jsx');
+var Modal = require('../../modal/modal.jsx');
+var NavigationBox = require('../container/navigation.jsx');
+var Registration = require('../../registration/registration.jsx');
 
 require('./navigation.scss');
 
diff --git a/src/components/container/navigation/www/navigation.scss b/src/components/navigation/www/navigation.scss
similarity index 99%
rename from src/components/container/navigation/www/navigation.scss
rename to src/components/navigation/www/navigation.scss
index 905d67e0f..2073631e6 100644
--- a/src/components/container/navigation/www/navigation.scss
+++ b/src/components/navigation/www/navigation.scss
@@ -1,4 +1,4 @@
-@import "../../../../colors";
+@import "../../../colors";
 
 #navigation {
     .logo {
diff --git a/src/components/presentation/nestedcarousel/nestedcarousel.json b/src/components/nestedcarousel/nestedcarousel.json
similarity index 100%
rename from src/components/presentation/nestedcarousel/nestedcarousel.json
rename to src/components/nestedcarousel/nestedcarousel.json
diff --git a/src/components/presentation/nestedcarousel/nestedcarousel.jsx b/src/components/nestedcarousel/nestedcarousel.jsx
similarity index 100%
rename from src/components/presentation/nestedcarousel/nestedcarousel.jsx
rename to src/components/nestedcarousel/nestedcarousel.jsx
diff --git a/src/components/presentation/nestedcarousel/nestedcarousel.scss b/src/components/nestedcarousel/nestedcarousel.scss
similarity index 94%
rename from src/components/presentation/nestedcarousel/nestedcarousel.scss
rename to src/components/nestedcarousel/nestedcarousel.scss
index 845221d63..138e42d6b 100644
--- a/src/components/presentation/nestedcarousel/nestedcarousel.scss
+++ b/src/components/nestedcarousel/nestedcarousel.scss
@@ -1,4 +1,4 @@
-@import "../../../colors";
+@import "../../colors";
 @import "../carousel/carousel.scss";
 
 .nestedcarousel {
diff --git a/src/components/presentation/news/news.json b/src/components/news/news.json
similarity index 100%
rename from src/components/presentation/news/news.json
rename to src/components/news/news.json
diff --git a/src/components/presentation/news/news.jsx b/src/components/news/news.jsx
similarity index 100%
rename from src/components/presentation/news/news.jsx
rename to src/components/news/news.jsx
diff --git a/src/components/presentation/news/news.scss b/src/components/news/news.scss
similarity index 97%
rename from src/components/presentation/news/news.scss
rename to src/components/news/news.scss
index ea575b253..bb74aae6d 100644
--- a/src/components/presentation/news/news.scss
+++ b/src/components/news/news.scss
@@ -1,4 +1,4 @@
-@import "../../../colors";
+@import "../../colors";
 
 .news {
     ul {
diff --git a/src/components/container/page/conference/page.jsx b/src/components/page/conference/page.jsx
similarity index 100%
rename from src/components/container/page/conference/page.jsx
rename to src/components/page/conference/page.jsx
diff --git a/src/components/container/page/conference/page.scss b/src/components/page/conference/page.scss
similarity index 97%
rename from src/components/container/page/conference/page.scss
rename to src/components/page/conference/page.scss
index d44ca06ae..6ec8b1e1b 100644
--- a/src/components/container/page/conference/page.scss
+++ b/src/components/page/conference/page.scss
@@ -1,5 +1,5 @@
-@import "../../../../colors";
-@import "../../../../main";
+@import "../../../colors";
+@import "../../../main";
 
 #navigation {
     h1 {
diff --git a/src/components/container/page/www/page.jsx b/src/components/page/www/page.jsx
similarity index 100%
rename from src/components/container/page/www/page.jsx
rename to src/components/page/www/page.jsx
diff --git a/src/components/presentation/registration/registration.jsx b/src/components/registration/registration.jsx
similarity index 100%
rename from src/components/presentation/registration/registration.jsx
rename to src/components/registration/registration.jsx
diff --git a/src/components/presentation/registration/registration.scss b/src/components/registration/registration.scss
similarity index 100%
rename from src/components/presentation/registration/registration.scss
rename to src/components/registration/registration.scss
diff --git a/src/components/presentation/spinner/spinner.jsx b/src/components/spinner/spinner.jsx
similarity index 100%
rename from src/components/presentation/spinner/spinner.jsx
rename to src/components/spinner/spinner.jsx
diff --git a/src/components/presentation/spinner/spinner.scss b/src/components/spinner/spinner.scss
similarity index 97%
rename from src/components/presentation/spinner/spinner.scss
rename to src/components/spinner/spinner.scss
index fe5af7306..e4fd45305 100644
--- a/src/components/presentation/spinner/spinner.scss
+++ b/src/components/spinner/spinner.scss
@@ -1,4 +1,4 @@
-@import "../../../colors";
+@import "../../colors";
 
 .spinner {
     position: relative;
diff --git a/src/components/presentation/subnavigation/subnavigation.jsx b/src/components/subnavigation/subnavigation.jsx
similarity index 100%
rename from src/components/presentation/subnavigation/subnavigation.jsx
rename to src/components/subnavigation/subnavigation.jsx
diff --git a/src/components/presentation/subnavigation/subnavigation.scss b/src/components/subnavigation/subnavigation.scss
similarity index 97%
rename from src/components/presentation/subnavigation/subnavigation.scss
rename to src/components/subnavigation/subnavigation.scss
index 4da21a956..76248f1d6 100644
--- a/src/components/presentation/subnavigation/subnavigation.scss
+++ b/src/components/subnavigation/subnavigation.scss
@@ -1,4 +1,4 @@
-@import "../../../colors";
+@import "../../colors";
 
 .sub-nav {
     display: flex;
diff --git a/src/components/presentation/thumbnail/thumbnail.jsx b/src/components/thumbnail/thumbnail.jsx
similarity index 100%
rename from src/components/presentation/thumbnail/thumbnail.jsx
rename to src/components/thumbnail/thumbnail.jsx
diff --git a/src/components/presentation/thumbnail/thumbnail.scss b/src/components/thumbnail/thumbnail.scss
similarity index 98%
rename from src/components/presentation/thumbnail/thumbnail.scss
rename to src/components/thumbnail/thumbnail.scss
index 7533e673f..29498673d 100644
--- a/src/components/presentation/thumbnail/thumbnail.scss
+++ b/src/components/thumbnail/thumbnail.scss
@@ -1,4 +1,4 @@
-@import "../../../colors";
+@import "../../colors";
 
 .thumbnail {
     .thumbnail-image {
diff --git a/src/components/presentation/title-banner/title-banner.jsx b/src/components/title-banner/title-banner.jsx
similarity index 100%
rename from src/components/presentation/title-banner/title-banner.jsx
rename to src/components/title-banner/title-banner.jsx
diff --git a/src/components/presentation/title-banner/title-banner.scss b/src/components/title-banner/title-banner.scss
similarity index 88%
rename from src/components/presentation/title-banner/title-banner.scss
rename to src/components/title-banner/title-banner.scss
index 03c15c4a8..908d58195 100644
--- a/src/components/presentation/title-banner/title-banner.scss
+++ b/src/components/title-banner/title-banner.scss
@@ -1,5 +1,5 @@
-@import "../../../colors";
-@import "../../../frameless";
+@import "../../colors";
+@import "../../frameless";
 
 .title-banner {
     transition: background-image .5s ease, background-color .5s ease;
diff --git a/src/components/presentation/welcome/welcome.jsx b/src/components/welcome/welcome.jsx
similarity index 100%
rename from src/components/presentation/welcome/welcome.jsx
rename to src/components/welcome/welcome.jsx
diff --git a/src/components/presentation/welcome/welcome.scss b/src/components/welcome/welcome.scss
similarity index 97%
rename from src/components/presentation/welcome/welcome.scss
rename to src/components/welcome/welcome.scss
index 94783bdcc..a2404d7e7 100644
--- a/src/components/presentation/welcome/welcome.scss
+++ b/src/components/welcome/welcome.scss
@@ -1,4 +1,4 @@
-@import "../../../colors";
+@import "../../colors";
 
 .welcome {
     .box-content {
diff --git a/src/views/about/about.jsx b/src/views/about/about.jsx
index 367e08de4..2d71caead 100644
--- a/src/views/about/about.jsx
+++ b/src/views/about/about.jsx
@@ -3,7 +3,7 @@ var FormattedHTMLMessage = require('react-intl').FormattedHTMLMessage;
 var FormattedMessage = require('react-intl').FormattedMessage;
 var render = require('../../lib/render.jsx');
 
-var Page = require('../../components/container/page/www/page.jsx');
+var Page = require('../../components/page/www/page.jsx');
 
 require('./about.scss');
 
diff --git a/src/views/cards/cards.jsx b/src/views/cards/cards.jsx
index 3e8931218..9a58afc73 100644
--- a/src/views/cards/cards.jsx
+++ b/src/views/cards/cards.jsx
@@ -3,9 +3,9 @@ var injectIntl = require('react-intl').injectIntl;
 var FormattedMessage = require('react-intl').FormattedMessage;
 var render = require('../../lib/render.jsx');
 
-var Box = require('../../components/presentation/box/box.jsx');
-var FlexRow = require('../../components/presentation/flex-row/flex-row.jsx');
-var Page = require('../../components/container/page/www/page.jsx');
+var Box = require('../../components/box/box.jsx');
+var FlexRow = require('../../components/flex-row/flex-row.jsx');
+var Page = require('../../components/page/www/page.jsx');
 
 require('./cards.scss');
 
diff --git a/src/views/communityblocks-interviews/communityblocks-interviews.jsx b/src/views/communityblocks-interviews/communityblocks-interviews.jsx
index a5f34799d..89d1d7243 100644
--- a/src/views/communityblocks-interviews/communityblocks-interviews.jsx
+++ b/src/views/communityblocks-interviews/communityblocks-interviews.jsx
@@ -1,7 +1,7 @@
 var React = require('react');
 var render = require('../../lib/render.jsx');
 
-var Page = require('../../components/container/page/www/page.jsx');
+var Page = require('../../components/page/www/page.jsx');
 
 var CommunityBlocksInterviews = React.createClass({
     type: 'communityblocks-interviews',
diff --git a/src/views/components/components.jsx b/src/views/components/components.jsx
index d6efd3f5c..7c0e5b55e 100644
--- a/src/views/components/components.jsx
+++ b/src/views/components/components.jsx
@@ -1,13 +1,13 @@
 var React = require('react');
 var render = require('../../lib/render.jsx');
 
-var Activity = require('../../components/presentation/activity/activity.jsx');
-var Page = require('../../components/container/page/www/page.jsx');
-var Box = require('../../components/presentation/box/box.jsx');
-var Button = require('../../components/presentation/forms/button.jsx');
-var Carousel = require('../../components/presentation/carousel/carousel.jsx');
-var Input = require('../../components/presentation/forms/input.jsx');
-var Spinner = require('../../components/presentation/spinner/spinner.jsx');
+var Activity = require('../../components/activity/activity.jsx');
+var Page = require('../../components/page/www/page.jsx');
+var Box = require('../../components/box/box.jsx');
+var Button = require('../../components/forms/button.jsx');
+var Carousel = require('../../components/carousel/carousel.jsx');
+var Input = require('../../components/forms/input.jsx');
+var Spinner = require('../../components/spinner/spinner.jsx');
 
 require('./components.scss');
 
diff --git a/src/views/conference/expect/expect.jsx b/src/views/conference/expect/expect.jsx
index 7b1119617..00dc82f57 100644
--- a/src/views/conference/expect/expect.jsx
+++ b/src/views/conference/expect/expect.jsx
@@ -1,10 +1,10 @@
 var React = require('react');
 var ReactDOM = require('react-dom');
 
-var Button = require('../../../components/presentation/forms/button.jsx');
-var FlexRow = require('../../../components/presentation/flex-row/flex-row.jsx');
-var Page = require('../../../components/container/page/conference/page.jsx');
-var TitleBanner = require('../../../components/presentation/title-banner/title-banner.jsx');
+var Button = require('../../../components/forms/button.jsx');
+var FlexRow = require('../../../components/flex-row/flex-row.jsx');
+var Page = require('../../../components/page/conference/page.jsx');
+var TitleBanner = require('../../../components/title-banner/title-banner.jsx');
 
 require('./expect.scss');
 
diff --git a/src/views/conference/index/index.jsx b/src/views/conference/index/index.jsx
index 7763ca3db..56a936983 100644
--- a/src/views/conference/index/index.jsx
+++ b/src/views/conference/index/index.jsx
@@ -1,10 +1,10 @@
 var React = require('react');
 var ReactDOM = require('react-dom');
 
-var Button = require('../../../components/presentation/forms/button.jsx');
-var FlexRow = require('../../../components/presentation/flex-row/flex-row.jsx');
-var Page = require('../../../components/container/page/conference/page.jsx');
-var TitleBanner = require('../../../components/presentation/title-banner/title-banner.jsx');
+var Button = require('../../../components/forms/button.jsx');
+var FlexRow = require('../../../components/flex-row/flex-row.jsx');
+var Page = require('../../../components/page/conference/page.jsx');
+var TitleBanner = require('../../../components/title-banner/title-banner.jsx');
 
 require('./index.scss');
 
diff --git a/src/views/conference/plan/plan.jsx b/src/views/conference/plan/plan.jsx
index 3bb12c740..752117465 100644
--- a/src/views/conference/plan/plan.jsx
+++ b/src/views/conference/plan/plan.jsx
@@ -1,10 +1,10 @@
 var React = require('react');
 var ReactDOM = require('react-dom');
 
-var Button = require('../../../components/presentation/forms/button.jsx');
-var FlexRow = require('../../../components/presentation/flex-row/flex-row.jsx');
-var Page = require('../../../components/container/page/conference/page.jsx');
-var TitleBanner = require('../../../components/presentation/title-banner/title-banner.jsx');
+var Button = require('../../../components/forms/button.jsx');
+var FlexRow = require('../../../components/flex-row/flex-row.jsx');
+var Page = require('../../../components/page/conference/page.jsx');
+var TitleBanner = require('../../../components/title-banner/title-banner.jsx');
 
 require('./plan.scss');
 
diff --git a/src/views/credits/credits.jsx b/src/views/credits/credits.jsx
index 6ee9f88c5..64c42389f 100644
--- a/src/views/credits/credits.jsx
+++ b/src/views/credits/credits.jsx
@@ -1,7 +1,7 @@
 var React = require('react');
 var render = require('../../lib/render.jsx');
 
-var Page = require('../../components/container/page/www/page.jsx');
+var Page = require('../../components/page/www/page.jsx');
 
 require('./credits.scss');
 
diff --git a/src/views/hoc/hoc.jsx b/src/views/hoc/hoc.jsx
index 9349ed446..5bea889e3 100644
--- a/src/views/hoc/hoc.jsx
+++ b/src/views/hoc/hoc.jsx
@@ -3,12 +3,12 @@ var FormattedMessage = require('react-intl').FormattedMessage;
 var React = require('react');
 var render = require('../../lib/render.jsx');
 
-var Button = require('../../components/presentation/forms/button.jsx');
-var Box = require('../../components/presentation/box/box.jsx');
-var FlexRow = require('../../components/presentation/flex-row/flex-row.jsx');
-var Page = require('../../components/container/page/www/page.jsx');
-var SubNavigation = require('../../components/presentation/subnavigation/subnavigation.jsx');
-var TitleBanner = require('../../components/presentation/title-banner/title-banner.jsx');
+var Button = require('../../components/forms/button.jsx');
+var Box = require('../../components/box/box.jsx');
+var FlexRow = require('../../components/flex-row/flex-row.jsx');
+var Page = require('../../components/page/www/page.jsx');
+var SubNavigation = require('../../components/subnavigation/subnavigation.jsx');
+var TitleBanner = require('../../components/title-banner/title-banner.jsx');
 
 require('./hoc.scss');
 
diff --git a/src/views/jobs/jobs.jsx b/src/views/jobs/jobs.jsx
index 78f475446..779e8afe1 100644
--- a/src/views/jobs/jobs.jsx
+++ b/src/views/jobs/jobs.jsx
@@ -2,7 +2,7 @@ var React = require('react');
 var render = require('../../lib/render.jsx');
 var FormattedMessage = require('react-intl').FormattedMessage;
 
-var Page = require('../../components/container/page/www/page.jsx');
+var Page = require('../../components/page/www/page.jsx');
 
 require('./jobs.scss');
 
diff --git a/src/views/microworld/art/art.jsx b/src/views/microworld/art/art.jsx
index 4b9000b4f..5341647b8 100644
--- a/src/views/microworld/art/art.jsx
+++ b/src/views/microworld/art/art.jsx
@@ -1,5 +1,5 @@
 var render = require('../../../lib/render.jsx');
-var Microworld = require('../../../components/container/microworld/microworld.jsx');
+var Microworld = require('../../../components/microworld/microworld.jsx');
 
 var microworldData = require('./microworld_art.json');
 
diff --git a/src/views/microworld/fashion/fashion.jsx b/src/views/microworld/fashion/fashion.jsx
index 85f970229..a98b133b3 100644
--- a/src/views/microworld/fashion/fashion.jsx
+++ b/src/views/microworld/fashion/fashion.jsx
@@ -1,5 +1,5 @@
 var render = require('../../../lib/render.jsx');
-var Microworld = require('../../../components/container/microworld/microworld.jsx');
+var Microworld = require('../../../components/microworld/microworld.jsx');
 
 var microworldData = require('./microworld_fashion.json');
 
diff --git a/src/views/microworld/hiphop/hiphop.jsx b/src/views/microworld/hiphop/hiphop.jsx
index e71a8cf04..8ae2a531c 100644
--- a/src/views/microworld/hiphop/hiphop.jsx
+++ b/src/views/microworld/hiphop/hiphop.jsx
@@ -1,5 +1,5 @@
 var render = require('../../../lib/render.jsx');
-var Microworld = require('../../../components/container/microworld/microworld.jsx');
+var Microworld = require('../../../components/microworld/microworld.jsx');
 
 var microworldData = require('./microworld_hiphop.json');
 
diff --git a/src/views/splash/splash.jsx b/src/views/splash/splash.jsx
index 780997278..884762245 100644
--- a/src/views/splash/splash.jsx
+++ b/src/views/splash/splash.jsx
@@ -8,17 +8,17 @@ var actions = require('../../redux/actions.js');
 
 var Api = require('../../mixins/api.jsx');
 
-var Activity = require('../../components/presentation/activity/activity.jsx');
-var AdminPanel = require('../../components/presentation/adminpanel/adminpanel.jsx');
-var DropdownBanner = require('../../components/presentation/dropdown-banner/banner.jsx');
-var Box = require('../../components/presentation/box/box.jsx');
-var Button = require('../../components/presentation/forms/button.jsx');
-var Carousel = require('../../components/presentation/carousel/carousel.jsx');
-var Intro = require('../../components/container/intro/intro.jsx');
-var Modal = require('../../components/presentation/modal/modal.jsx');
-var News = require('../../components/presentation/news/news.jsx');
-var Page = require('../../components/container/page/www/page.jsx');
-var Welcome = require('../../components/presentation/welcome/welcome.jsx');
+var Activity = require('../../components/activity/activity.jsx');
+var AdminPanel = require('../../components/adminpanel/adminpanel.jsx');
+var DropdownBanner = require('../../components/dropdown-banner/banner.jsx');
+var Box = require('../../components/box/box.jsx');
+var Button = require('../../components/forms/button.jsx');
+var Carousel = require('../../components/carousel/carousel.jsx');
+var Intro = require('../../components/intro/intro.jsx');
+var Modal = require('../../components/modal/modal.jsx');
+var News = require('../../components/news/news.jsx');
+var Page = require('../../components/page/www/page.jsx');
+var Welcome = require('../../components/welcome/welcome.jsx');
 
 require('./splash.scss');
 
diff --git a/src/views/wedo2/wedo2.jsx b/src/views/wedo2/wedo2.jsx
index cea03ae1a..9a63cdad4 100644
--- a/src/views/wedo2/wedo2.jsx
+++ b/src/views/wedo2/wedo2.jsx
@@ -2,7 +2,7 @@ var FormattedHTMLMessage = require('react-intl').FormattedHTMLMessage;
 var FormattedMessage = require('react-intl').FormattedMessage;
 var React = require('react');
 
-var Page = require('../../components/container/page/www/page.jsx');
+var Page = require('../../components/page/www/page.jsx');
 var render = require('../../lib/render.jsx');
 
 require('./wedo2.scss');