diff --git a/app/styles/home-view.sass b/app/views/HomeView/home-view.sass
similarity index 100%
rename from app/styles/home-view.sass
rename to app/views/HomeView/home-view.sass
diff --git a/app/styles/test-view.sass b/app/views/TestView/test-view.sass
similarity index 100%
rename from app/styles/test-view.sass
rename to app/views/TestView/test-view.sass
diff --git a/app/styles/account/account-settings-view.sass b/app/views/account/AccountSettingsView/account-settings-view.sass
similarity index 100%
rename from app/styles/account/account-settings-view.sass
rename to app/views/account/AccountSettingsView/account-settings-view.sass
diff --git a/app/styles/account/invoices-view.sass b/app/views/account/InvoicesView/invoices-view.sass
similarity index 100%
rename from app/styles/account/invoices-view.sass
rename to app/views/account/InvoicesView/invoices-view.sass
diff --git a/app/styles/account/main-account-view.sass b/app/views/account/MainAccountView/main-account-view.sass
similarity index 100%
rename from app/styles/account/main-account-view.sass
rename to app/views/account/MainAccountView/main-account-view.sass
diff --git a/app/views/account/PrepaidRedeemModal.coffee b/app/views/account/PrepaidRedeemModal/PrepaidRedeemModal.coffee
similarity index 89%
rename from app/views/account/PrepaidRedeemModal.coffee
rename to app/views/account/PrepaidRedeemModal/PrepaidRedeemModal.coffee
index cf729cbcd..58dfff9c2 100644
--- a/app/views/account/PrepaidRedeemModal.coffee
+++ b/app/views/account/PrepaidRedeemModal/PrepaidRedeemModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/account/prepaid-redeem-modal'
+template = require './prepaid-redeem-modal'
 {me} = require 'core/auth'
 
 
diff --git a/app/views/account/PrepaidRedeemModal/index.coffee b/app/views/account/PrepaidRedeemModal/index.coffee
new file mode 100644
index 000000000..0fe08cd07
--- /dev/null
+++ b/app/views/account/PrepaidRedeemModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './PrepaidRedeemModal'
\ No newline at end of file
diff --git a/app/templates/account/prepaid-redeem-modal.jade b/app/views/account/PrepaidRedeemModal/prepaid-redeem-modal.jade
similarity index 100%
rename from app/templates/account/prepaid-redeem-modal.jade
rename to app/views/account/PrepaidRedeemModal/prepaid-redeem-modal.jade
diff --git a/app/styles/account/subscription-view.sass b/app/views/account/SubscriptionView/subscription-view.sass
similarity index 100%
rename from app/styles/account/subscription-view.sass
rename to app/views/account/SubscriptionView/subscription-view.sass
diff --git a/app/styles/account/unsubscribe-view.sass b/app/views/account/UnsubscribeView/unsubscribe-view.sass
similarity index 100%
rename from app/styles/account/unsubscribe-view.sass
rename to app/views/account/UnsubscribeView/unsubscribe-view.sass
diff --git a/app/views/admin/AdministerUserModal.coffee b/app/views/admin/AdministerUserModal/AdministerUserModal.coffee
similarity index 98%
rename from app/views/admin/AdministerUserModal.coffee
rename to app/views/admin/AdministerUserModal/AdministerUserModal.coffee
index 62497a25c..71c869744 100644
--- a/app/views/admin/AdministerUserModal.coffee
+++ b/app/views/admin/AdministerUserModal/AdministerUserModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/admin/administer-user-modal'
+template = require './administer-user-modal'
 User = require 'models/User'
 Prepaid = require 'models/Prepaid'
 StripeCoupons = require 'collections/StripeCoupons'
diff --git a/app/templates/admin/administer-user-modal.jade b/app/views/admin/AdministerUserModal/administer-user-modal.jade
similarity index 100%
rename from app/templates/admin/administer-user-modal.jade
rename to app/views/admin/AdministerUserModal/administer-user-modal.jade
diff --git a/app/styles/admin/administer-user-modal.sass b/app/views/admin/AdministerUserModal/administer-user-modal.sass
similarity index 100%
rename from app/styles/admin/administer-user-modal.sass
rename to app/views/admin/AdministerUserModal/administer-user-modal.sass
diff --git a/app/views/admin/AdministerUserModal/index.coffee b/app/views/admin/AdministerUserModal/index.coffee
new file mode 100644
index 000000000..ede5552af
--- /dev/null
+++ b/app/views/admin/AdministerUserModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './AdministerUserModal'
\ No newline at end of file
diff --git a/app/styles/admin/design-elements-view.sass b/app/views/admin/DesignElementsView/design-elements-view.sass
similarity index 100%
rename from app/styles/admin/design-elements-view.sass
rename to app/views/admin/DesignElementsView/design-elements-view.sass
diff --git a/app/styles/artisans/artisans-view.sass b/app/views/artisans/ArtisansView/artisans-view.sass
similarity index 100%
rename from app/styles/artisans/artisans-view.sass
rename to app/views/artisans/ArtisansView/artisans-view.sass
diff --git a/app/styles/artisans/level-guides-view.sass b/app/views/artisans/LevelGuidesView/level-guides-view.sass
similarity index 100%
rename from app/styles/artisans/level-guides-view.sass
rename to app/views/artisans/LevelGuidesView/level-guides-view.sass
diff --git a/app/styles/artisans/level-tasks-view.sass b/app/views/artisans/LevelTasksView/level-tasks-view.sass
similarity index 100%
rename from app/styles/artisans/level-tasks-view.sass
rename to app/views/artisans/LevelTasksView/level-tasks-view.sass
diff --git a/app/styles/artisans/solution-problems-view.sass b/app/views/artisans/SolutionProblemsView/solution-problems-view.sass
similarity index 100%
rename from app/styles/artisans/solution-problems-view.sass
rename to app/views/artisans/SolutionProblemsView/solution-problems-view.sass
diff --git a/app/styles/artisans/thang-tasks-view.sass b/app/views/artisans/ThangTasksView/thang-tasks-view.sass
similarity index 100%
rename from app/styles/artisans/thang-tasks-view.sass
rename to app/views/artisans/ThangTasksView/thang-tasks-view.sass
diff --git a/app/styles/common/level_session_code_view.sass b/app/views/common/LevelSessionCodeView/level_session_code_view.sass
similarity index 100%
rename from app/styles/common/level_session_code_view.sass
rename to app/views/common/LevelSessionCodeView/level_session_code_view.sass
diff --git a/app/views/core/AuthModal.coffee b/app/views/core/AuthModal/AuthModal.coffee
similarity index 97%
rename from app/views/core/AuthModal.coffee
rename to app/views/core/AuthModal/AuthModal.coffee
index 6632a0c5a..3ee3690ff 100644
--- a/app/views/core/AuthModal.coffee
+++ b/app/views/core/AuthModal/AuthModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/core/auth-modal'
+template = require './auth-modal'
 forms = require 'core/forms'
 User = require 'models/User'
 application  = require 'core/application'
@@ -37,7 +37,7 @@ module.exports = class AuthModal extends ModalView
     _.delay (=> $('input:visible:first', @$el).focus()), 500
 
   onSignupInstead: (e) ->
-    CreateAccountModal = require('./CreateAccountModal')
+    CreateAccountModal = require('../CreateAccountModal')
     modal = new CreateAccountModal({initialValues: forms.formToObject @$el})
     currentView.openModalView(modal)
 
diff --git a/test/app/views/core/AuthModal.spec.coffee b/app/views/core/AuthModal/AuthModal.spec.coffee
similarity index 100%
rename from test/app/views/core/AuthModal.spec.coffee
rename to app/views/core/AuthModal/AuthModal.spec.coffee
diff --git a/app/templates/core/auth-modal.jade b/app/views/core/AuthModal/auth-modal.jade
similarity index 100%
rename from app/templates/core/auth-modal.jade
rename to app/views/core/AuthModal/auth-modal.jade
diff --git a/app/styles/modal/auth-modal.sass b/app/views/core/AuthModal/auth-modal.sass
similarity index 100%
rename from app/styles/modal/auth-modal.sass
rename to app/views/core/AuthModal/auth-modal.sass
diff --git a/app/views/core/AuthModal/index.coffee b/app/views/core/AuthModal/index.coffee
new file mode 100644
index 000000000..2712aca83
--- /dev/null
+++ b/app/views/core/AuthModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './AuthModal'
\ No newline at end of file
diff --git a/app/views/core/CreateAccountModal/CreateAccountModal.coffee b/app/views/core/CreateAccountModal/CreateAccountModal.coffee
index c8e7ce0ab..1564c8f98 100644
--- a/app/views/core/CreateAccountModal/CreateAccountModal.coffee
+++ b/app/views/core/CreateAccountModal/CreateAccountModal.coffee
@@ -9,7 +9,7 @@ SingleSignOnConfirmView = require './SingleSignOnConfirmView'
 ExtrasView = require './ExtrasView'
 ConfirmationView = require './ConfirmationView'
 State = require 'models/State'
-template = require 'templates/core/create-account-modal/create-account-modal'
+template = require './create-account-modal'
 forms = require 'core/forms'
 User = require 'models/User'
 application  = require 'core/application'
diff --git a/test/app/views/core/CreateAccountModal.spec.coffee b/app/views/core/CreateAccountModal/CreateAccountModal.spec.coffee
similarity index 100%
rename from test/app/views/core/CreateAccountModal.spec.coffee
rename to app/views/core/CreateAccountModal/CreateAccountModal.spec.coffee
diff --git a/app/styles/modal/create-account-modal/basic-info-view.sass b/app/views/core/CreateAccountModal/basic-info-view.sass
similarity index 100%
rename from app/styles/modal/create-account-modal/basic-info-view.sass
rename to app/views/core/CreateAccountModal/basic-info-view.sass
diff --git a/app/styles/modal/create-account-modal/choose-account-type-view.sass b/app/views/core/CreateAccountModal/choose-account-type-view.sass
similarity index 100%
rename from app/styles/modal/create-account-modal/choose-account-type-view.sass
rename to app/views/core/CreateAccountModal/choose-account-type-view.sass
diff --git a/app/styles/modal/create-account-modal/confirmation-view.sass b/app/views/core/CreateAccountModal/confirmation-view.sass
similarity index 100%
rename from app/styles/modal/create-account-modal/confirmation-view.sass
rename to app/views/core/CreateAccountModal/confirmation-view.sass
diff --git a/app/styles/modal/create-account-modal/coppa-deny-view.sass b/app/views/core/CreateAccountModal/coppa-deny-view.sass
similarity index 100%
rename from app/styles/modal/create-account-modal/coppa-deny-view.sass
rename to app/views/core/CreateAccountModal/coppa-deny-view.sass
diff --git a/app/templates/core/create-account-modal/create-account-modal.jade b/app/views/core/CreateAccountModal/create-account-modal.jade
similarity index 100%
rename from app/templates/core/create-account-modal/create-account-modal.jade
rename to app/views/core/CreateAccountModal/create-account-modal.jade
diff --git a/app/styles/modal/create-account-modal/create-account-modal.sass b/app/views/core/CreateAccountModal/create-account-modal.sass
similarity index 100%
rename from app/styles/modal/create-account-modal/create-account-modal.sass
rename to app/views/core/CreateAccountModal/create-account-modal.sass
diff --git a/app/styles/modal/create-account-modal/extras-view.sass b/app/views/core/CreateAccountModal/extras-view.sass
similarity index 100%
rename from app/styles/modal/create-account-modal/extras-view.sass
rename to app/views/core/CreateAccountModal/extras-view.sass
diff --git a/app/styles/modal/create-account-modal/segment-check-view.sass b/app/views/core/CreateAccountModal/segment-check-view.sass
similarity index 100%
rename from app/styles/modal/create-account-modal/segment-check-view.sass
rename to app/views/core/CreateAccountModal/segment-check-view.sass
diff --git a/app/styles/core/hero-select-view.sass b/app/views/core/HeroSelectView/hero-select-view.sass
similarity index 100%
rename from app/styles/core/hero-select-view.sass
rename to app/views/core/HeroSelectView/hero-select-view.sass
diff --git a/app/views/core/RecoverModal.coffee b/app/views/core/RecoverModal/RecoverModal.coffee
similarity index 96%
rename from app/views/core/RecoverModal.coffee
rename to app/views/core/RecoverModal/RecoverModal.coffee
index 21358a634..1daaa1032 100644
--- a/app/views/core/RecoverModal.coffee
+++ b/app/views/core/RecoverModal/RecoverModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/core/recover-modal'
+template = require './recover-modal'
 forms = require 'core/forms'
 {genericFailure} = require 'core/errors'
 
diff --git a/app/views/core/RecoverModal/index.coffee b/app/views/core/RecoverModal/index.coffee
new file mode 100644
index 000000000..9753a5444
--- /dev/null
+++ b/app/views/core/RecoverModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './RecoverModal'
\ No newline at end of file
diff --git a/app/templates/core/recover-modal.jade b/app/views/core/RecoverModal/recover-modal.jade
similarity index 100%
rename from app/templates/core/recover-modal.jade
rename to app/views/core/RecoverModal/recover-modal.jade
diff --git a/app/styles/modal/recover-modal.sass b/app/views/core/RecoverModal/recover-modal.sass
similarity index 100%
rename from app/styles/modal/recover-modal.sass
rename to app/views/core/RecoverModal/recover-modal.sass
diff --git a/app/views/core/SubscribeModal.coffee b/app/views/core/SubscribeModal/SubscribeModal.coffee
similarity index 99%
rename from app/views/core/SubscribeModal.coffee
rename to app/views/core/SubscribeModal/SubscribeModal.coffee
index 2addc1dea..b3fa4f8b7 100644
--- a/app/views/core/SubscribeModal.coffee
+++ b/app/views/core/SubscribeModal/SubscribeModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/core/subscribe-modal'
+template = require './subscribe-modal'
 stripeHandler = require 'core/services/stripe'
 utils = require 'core/utils'
 CreateAccountModal = require 'views/core/CreateAccountModal'
diff --git a/app/views/core/SubscribeModal/index.coffee b/app/views/core/SubscribeModal/index.coffee
new file mode 100644
index 000000000..e031af3b6
--- /dev/null
+++ b/app/views/core/SubscribeModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './SubscribeModal'
\ No newline at end of file
diff --git a/app/templates/core/subscribe-modal.jade b/app/views/core/SubscribeModal/subscribe-modal.jade
similarity index 100%
rename from app/templates/core/subscribe-modal.jade
rename to app/views/core/SubscribeModal/subscribe-modal.jade
diff --git a/app/styles/modal/subscribe-modal.sass b/app/views/core/SubscribeModal/subscribe-modal.sass
similarity index 100%
rename from app/styles/modal/subscribe-modal.sass
rename to app/views/core/SubscribeModal/subscribe-modal.sass
diff --git a/app/views/courses/ActivateLicensesModal.coffee b/app/views/courses/ActivateLicensesModal/ActivateLicensesModal.coffee
similarity index 98%
rename from app/views/courses/ActivateLicensesModal.coffee
rename to app/views/courses/ActivateLicensesModal/ActivateLicensesModal.coffee
index a1bf8afa5..90f929cfb 100644
--- a/app/views/courses/ActivateLicensesModal.coffee
+++ b/app/views/courses/ActivateLicensesModal/ActivateLicensesModal.coffee
@@ -1,6 +1,6 @@
 ModalView = require 'views/core/ModalView'
 State = require 'models/State'
-template = require 'templates/courses/activate-licenses-modal'
+template = require './activate-licenses-modal'
 CocoCollection = require 'collections/CocoCollection'
 Prepaids = require 'collections/Prepaids'
 Classroom = require 'models/Classroom'
diff --git a/test/app/views/teachers/ActivateLicensesModal.spec.coffee b/app/views/courses/ActivateLicensesModal/ActivateLicensesModal.spec.coffee
similarity index 100%
rename from test/app/views/teachers/ActivateLicensesModal.spec.coffee
rename to app/views/courses/ActivateLicensesModal/ActivateLicensesModal.spec.coffee
diff --git a/app/templates/courses/activate-licenses-modal.jade b/app/views/courses/ActivateLicensesModal/activate-licenses-modal.jade
similarity index 100%
rename from app/templates/courses/activate-licenses-modal.jade
rename to app/views/courses/ActivateLicensesModal/activate-licenses-modal.jade
diff --git a/app/styles/courses/activate-licenses-modal.sass b/app/views/courses/ActivateLicensesModal/activate-licenses-modal.sass
similarity index 100%
rename from app/styles/courses/activate-licenses-modal.sass
rename to app/views/courses/ActivateLicensesModal/activate-licenses-modal.sass
diff --git a/app/views/courses/ActivateLicensesModal/index.coffee b/app/views/courses/ActivateLicensesModal/index.coffee
new file mode 100644
index 000000000..0c8f12178
--- /dev/null
+++ b/app/views/courses/ActivateLicensesModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './ActivateLicensesModal'
\ No newline at end of file
diff --git a/app/views/courses/ChangeCourseLanguageModal.coffee b/app/views/courses/ChangeCourseLanguageModal/ChangeCourseLanguageModal.coffee
similarity index 92%
rename from app/views/courses/ChangeCourseLanguageModal.coffee
rename to app/views/courses/ChangeCourseLanguageModal/ChangeCourseLanguageModal.coffee
index feddf9dad..3b2271bee 100644
--- a/app/views/courses/ChangeCourseLanguageModal.coffee
+++ b/app/views/courses/ChangeCourseLanguageModal/ChangeCourseLanguageModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/courses/change-course-language-modal'
+template = require './change-course-language-modal'
 
 module.exports = class ChangeCourseLanguageModal extends ModalView
   id: 'change-course-language-modal'
diff --git a/app/templates/courses/change-course-language-modal.jade b/app/views/courses/ChangeCourseLanguageModal/change-course-language-modal.jade
similarity index 100%
rename from app/templates/courses/change-course-language-modal.jade
rename to app/views/courses/ChangeCourseLanguageModal/change-course-language-modal.jade
diff --git a/app/styles/courses/change-course-language-modal.sass b/app/views/courses/ChangeCourseLanguageModal/change-course-language-modal.sass
similarity index 100%
rename from app/styles/courses/change-course-language-modal.sass
rename to app/views/courses/ChangeCourseLanguageModal/change-course-language-modal.sass
diff --git a/app/views/courses/ChangeCourseLanguageModal/index.coffee b/app/views/courses/ChangeCourseLanguageModal/index.coffee
new file mode 100644
index 000000000..d735a1294
--- /dev/null
+++ b/app/views/courses/ChangeCourseLanguageModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './ChangeCourseLanguageModal'
\ No newline at end of file
diff --git a/app/views/courses/ChooseLanguageModal.coffee b/app/views/courses/ChooseLanguageModal/ChooseLanguageModal.coffee
similarity index 95%
rename from app/views/courses/ChooseLanguageModal.coffee
rename to app/views/courses/ChooseLanguageModal/ChooseLanguageModal.coffee
index 549582105..39bcde18d 100644
--- a/app/views/courses/ChooseLanguageModal.coffee
+++ b/app/views/courses/ChooseLanguageModal/ChooseLanguageModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/courses/choose-language-modal'
+template = require './choose-language-modal'
 
 module.exports = class ChooseLanguageModal extends ModalView
   id: 'choose-language-modal'
diff --git a/app/templates/courses/choose-language-modal.jade b/app/views/courses/ChooseLanguageModal/choose-language-modal.jade
similarity index 100%
rename from app/templates/courses/choose-language-modal.jade
rename to app/views/courses/ChooseLanguageModal/choose-language-modal.jade
diff --git a/app/styles/courses/choose-language-modal.sass b/app/views/courses/ChooseLanguageModal/choose-language-modal.sass
similarity index 100%
rename from app/styles/courses/choose-language-modal.sass
rename to app/views/courses/ChooseLanguageModal/choose-language-modal.sass
diff --git a/app/views/courses/ChooseLanguageModal/index.coffee b/app/views/courses/ChooseLanguageModal/index.coffee
new file mode 100644
index 000000000..35a287108
--- /dev/null
+++ b/app/views/courses/ChooseLanguageModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './ChooseLanguageModal'
\ No newline at end of file
diff --git a/app/views/courses/ClassroomSettingsModal.coffee b/app/views/courses/ClassroomSettingsModal/ClassroomSettingsModal.coffee
similarity index 97%
rename from app/views/courses/ClassroomSettingsModal.coffee
rename to app/views/courses/ClassroomSettingsModal/ClassroomSettingsModal.coffee
index ddcfdf6c4..f9a9bd92a 100644
--- a/app/views/courses/ClassroomSettingsModal.coffee
+++ b/app/views/courses/ClassroomSettingsModal/ClassroomSettingsModal.coffee
@@ -1,6 +1,6 @@
 Classroom = require 'models/Classroom'
 ModalView = require 'views/core/ModalView'
-template = require 'templates/courses/classroom-settings-modal'
+template = require './classroom-settings-modal'
 forms = require 'core/forms'
 errors = require 'core/errors'
 
diff --git a/app/templates/courses/classroom-settings-modal.jade b/app/views/courses/ClassroomSettingsModal/classroom-settings-modal.jade
similarity index 100%
rename from app/templates/courses/classroom-settings-modal.jade
rename to app/views/courses/ClassroomSettingsModal/classroom-settings-modal.jade
diff --git a/app/styles/courses/classroom-settings-modal.sass b/app/views/courses/ClassroomSettingsModal/classroom-settings-modal.sass
similarity index 100%
rename from app/styles/courses/classroom-settings-modal.sass
rename to app/views/courses/ClassroomSettingsModal/classroom-settings-modal.sass
diff --git a/app/views/courses/ClassroomSettingsModal/index.coffee b/app/views/courses/ClassroomSettingsModal/index.coffee
new file mode 100644
index 000000000..6bf0fb9b7
--- /dev/null
+++ b/app/views/courses/ClassroomSettingsModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './ClassroomSettingsModal'
\ No newline at end of file
diff --git a/app/styles/courses/classroom-view.sass b/app/views/courses/ClassroomView/classroom-view.sass
similarity index 100%
rename from app/styles/courses/classroom-view.sass
rename to app/views/courses/ClassroomView/classroom-view.sass
diff --git a/app/views/courses/CoursesNotAssignedModal.coffee b/app/views/courses/CoursesNotAssignedModal/CoursesNotAssignedModal.coffee
similarity index 81%
rename from app/views/courses/CoursesNotAssignedModal.coffee
rename to app/views/courses/CoursesNotAssignedModal/CoursesNotAssignedModal.coffee
index c20e527e6..fcd4be956 100644
--- a/app/views/courses/CoursesNotAssignedModal.coffee
+++ b/app/views/courses/CoursesNotAssignedModal/CoursesNotAssignedModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/courses/courses-not-assigned-modal'
+template = require './courses-not-assigned-modal'
 
 module.exports = class CoursesNotAssignedModal extends ModalView
   id: 'courses-not-assigned-modal'
diff --git a/app/templates/courses/courses-not-assigned-modal.jade b/app/views/courses/CoursesNotAssignedModal/courses-not-assigned-modal.jade
similarity index 100%
rename from app/templates/courses/courses-not-assigned-modal.jade
rename to app/views/courses/CoursesNotAssignedModal/courses-not-assigned-modal.jade
diff --git a/app/views/courses/CoursesNotAssignedModal/index.coffee b/app/views/courses/CoursesNotAssignedModal/index.coffee
new file mode 100644
index 000000000..3af695fe0
--- /dev/null
+++ b/app/views/courses/CoursesNotAssignedModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './CoursesNotAssignedModal'
\ No newline at end of file
diff --git a/app/styles/courses/courses-update-account-view.sass b/app/views/courses/CoursesUpdateAccountView/courses-update-account-view.sass
similarity index 100%
rename from app/styles/courses/courses-update-account-view.sass
rename to app/views/courses/CoursesUpdateAccountView/courses-update-account-view.sass
diff --git a/app/styles/courses/courses-view.sass b/app/views/courses/CoursesView/courses-view.sass
similarity index 100%
rename from app/styles/courses/courses-view.sass
rename to app/views/courses/CoursesView/courses-view.sass
diff --git a/app/styles/courses/enrollments-view.sass b/app/views/courses/EnrollmentsView/enrollments-view.sass
similarity index 100%
rename from app/styles/courses/enrollments-view.sass
rename to app/views/courses/EnrollmentsView/enrollments-view.sass
diff --git a/app/views/courses/HeroSelectModal.coffee b/app/views/courses/HeroSelectModal/HeroSelectModal.coffee
similarity index 92%
rename from app/views/courses/HeroSelectModal.coffee
rename to app/views/courses/HeroSelectModal/HeroSelectModal.coffee
index 350f24364..062bd2ad5 100644
--- a/app/views/courses/HeroSelectModal.coffee
+++ b/app/views/courses/HeroSelectModal/HeroSelectModal.coffee
@@ -1,6 +1,6 @@
 ModalView = require 'views/core/ModalView'
 HeroSelectView = require 'views/core/HeroSelectView'
-template = require 'templates/courses/hero-select-modal'
+template = require './hero-select-modal'
 Classroom = require 'models/Classroom'
 ThangTypes = require 'collections/ThangTypes'
 State = require 'models/State'
diff --git a/test/app/views/courses/HeroSelectModal.spec.coffee b/app/views/courses/HeroSelectModal/HeroSelectModal.spec.coffee
similarity index 100%
rename from test/app/views/courses/HeroSelectModal.spec.coffee
rename to app/views/courses/HeroSelectModal/HeroSelectModal.spec.coffee
diff --git a/app/templates/courses/hero-select-modal.jade b/app/views/courses/HeroSelectModal/hero-select-modal.jade
similarity index 100%
rename from app/templates/courses/hero-select-modal.jade
rename to app/views/courses/HeroSelectModal/hero-select-modal.jade
diff --git a/app/styles/courses/hero-select-modal.sass b/app/views/courses/HeroSelectModal/hero-select-modal.sass
similarity index 100%
rename from app/styles/courses/hero-select-modal.sass
rename to app/views/courses/HeroSelectModal/hero-select-modal.sass
diff --git a/app/views/courses/HeroSelectModal/index.coffee b/app/views/courses/HeroSelectModal/index.coffee
new file mode 100644
index 000000000..6d72f6a07
--- /dev/null
+++ b/app/views/courses/HeroSelectModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './HeroSelectModal'
\ No newline at end of file
diff --git a/app/views/courses/InviteToClassroomModal.coffee b/app/views/courses/InviteToClassroomModal/InviteToClassroomModal.coffee
similarity index 95%
rename from app/views/courses/InviteToClassroomModal.coffee
rename to app/views/courses/InviteToClassroomModal/InviteToClassroomModal.coffee
index ddf8177fc..78f791bcb 100644
--- a/app/views/courses/InviteToClassroomModal.coffee
+++ b/app/views/courses/InviteToClassroomModal/InviteToClassroomModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/courses/invite-to-classroom-modal'
+template = require './invite-to-classroom-modal'
 
 module.exports = class InviteToClassroomModal extends ModalView
   id: 'invite-to-classroom-modal'
diff --git a/test/app/views/teachers/InviteToClassroomModal.spec.coffee b/app/views/courses/InviteToClassroomModal/InviteToClassroomModal.spec.coffee
similarity index 100%
rename from test/app/views/teachers/InviteToClassroomModal.spec.coffee
rename to app/views/courses/InviteToClassroomModal/InviteToClassroomModal.spec.coffee
diff --git a/app/views/courses/InviteToClassroomModal/index.coffee b/app/views/courses/InviteToClassroomModal/index.coffee
new file mode 100644
index 000000000..4fc10cfa8
--- /dev/null
+++ b/app/views/courses/InviteToClassroomModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './InviteToClassroomModal'
\ No newline at end of file
diff --git a/app/templates/courses/invite-to-classroom-modal.jade b/app/views/courses/InviteToClassroomModal/invite-to-classroom-modal.jade
similarity index 100%
rename from app/templates/courses/invite-to-classroom-modal.jade
rename to app/views/courses/InviteToClassroomModal/invite-to-classroom-modal.jade
diff --git a/app/styles/courses/invite-to-classroom-modal.sass b/app/views/courses/InviteToClassroomModal/invite-to-classroom-modal.sass
similarity index 100%
rename from app/styles/courses/invite-to-classroom-modal.sass
rename to app/views/courses/InviteToClassroomModal/invite-to-classroom-modal.sass
diff --git a/app/views/courses/JoinClassModal.coffee b/app/views/courses/JoinClassModal/JoinClassModal.coffee
similarity index 94%
rename from app/views/courses/JoinClassModal.coffee
rename to app/views/courses/JoinClassModal/JoinClassModal.coffee
index b4abc8c24..4c74db7df 100644
--- a/app/views/courses/JoinClassModal.coffee
+++ b/app/views/courses/JoinClassModal/JoinClassModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/courses/join-class-modal'
+template = require './join-class-modal'
 Classroom = require 'models/Classroom'
 User = require 'models/User'
 
diff --git a/app/views/courses/JoinClassModal/index.coffee b/app/views/courses/JoinClassModal/index.coffee
new file mode 100644
index 000000000..e498ada5b
--- /dev/null
+++ b/app/views/courses/JoinClassModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './JoinClassModal'
\ No newline at end of file
diff --git a/app/templates/courses/join-class-modal.jade b/app/views/courses/JoinClassModal/join-class-modal.jade
similarity index 100%
rename from app/templates/courses/join-class-modal.jade
rename to app/views/courses/JoinClassModal/join-class-modal.jade
diff --git a/app/views/courses/RemoveStudentModal.coffee b/app/views/courses/RemoveStudentModal/RemoveStudentModal.coffee
similarity index 94%
rename from app/views/courses/RemoveStudentModal.coffee
rename to app/views/courses/RemoveStudentModal/RemoveStudentModal.coffee
index 6a99b0b7f..35ce8df95 100644
--- a/app/views/courses/RemoveStudentModal.coffee
+++ b/app/views/courses/RemoveStudentModal/RemoveStudentModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/courses/remove-student-modal'
+template = require './remove-student-modal'
 
 module.exports = class RemoveStudentModal extends ModalView
   id: 'remove-student-modal'
diff --git a/app/views/courses/RemoveStudentModal/index.coffee b/app/views/courses/RemoveStudentModal/index.coffee
new file mode 100644
index 000000000..267ae4020
--- /dev/null
+++ b/app/views/courses/RemoveStudentModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './RemoveStudentModal'
\ No newline at end of file
diff --git a/app/templates/courses/remove-student-modal.jade b/app/views/courses/RemoveStudentModal/remove-student-modal.jade
similarity index 100%
rename from app/templates/courses/remove-student-modal.jade
rename to app/views/courses/RemoveStudentModal/remove-student-modal.jade
diff --git a/app/styles/courses/remove-student-modal.sass b/app/views/courses/RemoveStudentModal/remove-student-modal.sass
similarity index 100%
rename from app/styles/courses/remove-student-modal.sass
rename to app/views/courses/RemoveStudentModal/remove-student-modal.sass
diff --git a/app/styles/courses/student-courses-view.sass b/app/views/courses/StudentCoursesView/student-courses-view.sass
similarity index 100%
rename from app/styles/courses/student-courses-view.sass
rename to app/views/courses/StudentCoursesView/student-courses-view.sass
diff --git a/app/styles/courses/teacher-class-view.sass b/app/views/courses/TeacherClassView/teacher-class-view.sass
similarity index 100%
rename from app/styles/courses/teacher-class-view.sass
rename to app/views/courses/TeacherClassView/teacher-class-view.sass
diff --git a/app/styles/courses/teacher-classes-view.sass b/app/views/courses/TeacherClassesView/teacher-classes-view.sass
similarity index 100%
rename from app/styles/courses/teacher-classes-view.sass
rename to app/views/courses/TeacherClassesView/teacher-classes-view.sass
diff --git a/app/styles/courses/teacher-courses-view.sass b/app/views/courses/TeacherCoursesView/teacher-courses-view.sass
similarity index 100%
rename from app/styles/courses/teacher-courses-view.sass
rename to app/views/courses/TeacherCoursesView/teacher-courses-view.sass
diff --git a/app/views/editor/ForkModal.coffee b/app/views/editor/ForkModal/ForkModal.coffee
similarity index 96%
rename from app/views/editor/ForkModal.coffee
rename to app/views/editor/ForkModal/ForkModal.coffee
index e6ab13eb4..1a587c28a 100644
--- a/app/views/editor/ForkModal.coffee
+++ b/app/views/editor/ForkModal/ForkModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/editor/fork-modal'
+template = require './fork-modal'
 forms = require 'core/forms'
 
 module.exports = class ForkModal extends ModalView
diff --git a/app/templates/editor/fork-modal.jade b/app/views/editor/ForkModal/fork-modal.jade
similarity index 100%
rename from app/templates/editor/fork-modal.jade
rename to app/views/editor/ForkModal/fork-modal.jade
diff --git a/app/views/editor/ForkModal/index.coffee b/app/views/editor/ForkModal/index.coffee
new file mode 100644
index 000000000..5135867bd
--- /dev/null
+++ b/app/views/editor/ForkModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './ForkModal'
\ No newline at end of file
diff --git a/app/views/editor/PatchModal.coffee b/app/views/editor/PatchModal/PatchModal.coffee
similarity index 97%
rename from app/views/editor/PatchModal.coffee
rename to app/views/editor/PatchModal/PatchModal.coffee
index bd78cface..1b5c431e8 100644
--- a/app/views/editor/PatchModal.coffee
+++ b/app/views/editor/PatchModal/PatchModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/editor/patch_modal'
+template = require './patch_modal'
 DeltaView = require 'views/editor/DeltaView'
 auth = require 'core/auth'
 deltasLib = require 'core/deltas'
diff --git a/test/app/views/editor/PatchModal.spec.coffee b/app/views/editor/PatchModal/PatchModal.spec.coffee
similarity index 100%
rename from test/app/views/editor/PatchModal.spec.coffee
rename to app/views/editor/PatchModal/PatchModal.spec.coffee
diff --git a/app/views/editor/PatchModal/index.coffee b/app/views/editor/PatchModal/index.coffee
new file mode 100644
index 000000000..fea7a3d0a
--- /dev/null
+++ b/app/views/editor/PatchModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './PatchModal'
\ No newline at end of file
diff --git a/app/templates/editor/patch_modal.jade b/app/views/editor/PatchModal/patch_modal.jade
similarity index 100%
rename from app/templates/editor/patch_modal.jade
rename to app/views/editor/PatchModal/patch_modal.jade
diff --git a/app/views/editor/campaign/CampaignAnalyticsModal.coffee b/app/views/editor/campaign/CampaignAnalyticsModal/CampaignAnalyticsModal.coffee
similarity index 99%
rename from app/views/editor/campaign/CampaignAnalyticsModal.coffee
rename to app/views/editor/campaign/CampaignAnalyticsModal/CampaignAnalyticsModal.coffee
index b4070ee00..3610a1c19 100644
--- a/app/views/editor/campaign/CampaignAnalyticsModal.coffee
+++ b/app/views/editor/campaign/CampaignAnalyticsModal/CampaignAnalyticsModal.coffee
@@ -1,4 +1,4 @@
-template = require 'templates/editor/campaign/campaign-analytics-modal'
+template = require './campaign-analytics-modal'
 utils = require 'core/utils'
 require 'vendor/d3'
 ModalView = require 'views/core/ModalView'
diff --git a/app/templates/editor/campaign/campaign-analytics-modal.jade b/app/views/editor/campaign/CampaignAnalyticsModal/campaign-analytics-modal.jade
similarity index 100%
rename from app/templates/editor/campaign/campaign-analytics-modal.jade
rename to app/views/editor/campaign/CampaignAnalyticsModal/campaign-analytics-modal.jade
diff --git a/app/styles/editor/campaign/campaign-analytics-modal.sass b/app/views/editor/campaign/CampaignAnalyticsModal/campaign-analytics-modal.sass
similarity index 100%
rename from app/styles/editor/campaign/campaign-analytics-modal.sass
rename to app/views/editor/campaign/CampaignAnalyticsModal/campaign-analytics-modal.sass
diff --git a/app/views/editor/campaign/CampaignAnalyticsModal/index.coffee b/app/views/editor/campaign/CampaignAnalyticsModal/index.coffee
new file mode 100644
index 000000000..4b2cd4c6f
--- /dev/null
+++ b/app/views/editor/campaign/CampaignAnalyticsModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './CampaignAnalyticsModal'
\ No newline at end of file
diff --git a/app/styles/editor/campaign/campaign-editor-view.sass b/app/views/editor/campaign/CampaignEditorView/campaign-editor-view.sass
similarity index 100%
rename from app/styles/editor/campaign/campaign-editor-view.sass
rename to app/views/editor/campaign/CampaignEditorView/campaign-editor-view.sass
diff --git a/app/styles/editor/campaign/campaign-level-view.sass b/app/views/editor/campaign/CampaignLevelView/campaign-level-view.sass
similarity index 100%
rename from app/styles/editor/campaign/campaign-level-view.sass
rename to app/views/editor/campaign/CampaignLevelView/campaign-level-view.sass
diff --git a/app/views/editor/campaign/SaveCampaignModal.coffee b/app/views/editor/campaign/SaveCampaignModal/SaveCampaignModal.coffee
similarity index 95%
rename from app/views/editor/campaign/SaveCampaignModal.coffee
rename to app/views/editor/campaign/SaveCampaignModal/SaveCampaignModal.coffee
index 9e7b51aca..567e7f44a 100644
--- a/app/views/editor/campaign/SaveCampaignModal.coffee
+++ b/app/views/editor/campaign/SaveCampaignModal/SaveCampaignModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/editor/campaign/save-campaign-modal'
+template = require './save-campaign-modal'
 DeltaView = require 'views/editor/DeltaView'
 
 module.exports = class SaveCampaignModal extends ModalView
diff --git a/app/views/editor/campaign/SaveCampaignModal/index.coffee b/app/views/editor/campaign/SaveCampaignModal/index.coffee
new file mode 100644
index 000000000..92e9bf6d5
--- /dev/null
+++ b/app/views/editor/campaign/SaveCampaignModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './SaveCampaignModal'
\ No newline at end of file
diff --git a/app/templates/editor/campaign/save-campaign-modal.jade b/app/views/editor/campaign/SaveCampaignModal/save-campaign-modal.jade
similarity index 100%
rename from app/templates/editor/campaign/save-campaign-modal.jade
rename to app/views/editor/campaign/SaveCampaignModal/save-campaign-modal.jade
diff --git a/app/views/editor/component/AddThangComponentsModal.coffee b/app/views/editor/component/AddThangComponentsModal/AddThangComponentsModal.coffee
similarity index 95%
rename from app/views/editor/component/AddThangComponentsModal.coffee
rename to app/views/editor/component/AddThangComponentsModal/AddThangComponentsModal.coffee
index 7ff2d170b..390e65181 100644
--- a/app/views/editor/component/AddThangComponentsModal.coffee
+++ b/app/views/editor/component/AddThangComponentsModal/AddThangComponentsModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/editor/component/add-thang-components-modal'
+template = require './add-thang-components-modal'
 CocoCollection = require 'collections/CocoCollection'
 LevelComponent = require 'models/LevelComponent'
 
diff --git a/app/templates/editor/component/add-thang-components-modal.jade b/app/views/editor/component/AddThangComponentsModal/add-thang-components-modal.jade
similarity index 100%
rename from app/templates/editor/component/add-thang-components-modal.jade
rename to app/views/editor/component/AddThangComponentsModal/add-thang-components-modal.jade
diff --git a/app/styles/editor/component/add-thang-components-modal.sass b/app/views/editor/component/AddThangComponentsModal/add-thang-components-modal.sass
similarity index 100%
rename from app/styles/editor/component/add-thang-components-modal.sass
rename to app/views/editor/component/AddThangComponentsModal/add-thang-components-modal.sass
diff --git a/app/views/editor/component/AddThangComponentsModal/index.coffee b/app/views/editor/component/AddThangComponentsModal/index.coffee
new file mode 100644
index 000000000..e8223f9b8
--- /dev/null
+++ b/app/views/editor/component/AddThangComponentsModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './AddThangComponentsModal'
\ No newline at end of file
diff --git a/app/styles/editor/component/thang-component-config-view.sass b/app/views/editor/component/ThangComponentConfigView/thang-component-config-view.sass
similarity index 100%
rename from app/styles/editor/component/thang-component-config-view.sass
rename to app/views/editor/component/ThangComponentConfigView/thang-component-config-view.sass
diff --git a/app/styles/editor/component/thang-components-edit-view.sass b/app/views/editor/component/ThangComponentsEditView/thang-components-edit-view.sass
similarity index 100%
rename from app/styles/editor/component/thang-components-edit-view.sass
rename to app/views/editor/component/ThangComponentsEditView/thang-components-edit-view.sass
diff --git a/app/styles/docs/components-documentation-view.sass b/app/views/editor/docs/ComponentsDocumentationView/components-documentation-view.sass
similarity index 100%
rename from app/styles/docs/components-documentation-view.sass
rename to app/views/editor/docs/ComponentsDocumentationView/components-documentation-view.sass
diff --git a/app/styles/docs/systems-documentation-view.sass b/app/views/editor/docs/SystemsDocumentationView/systems-documentation-view.sass
similarity index 100%
rename from app/styles/docs/systems-documentation-view.sass
rename to app/views/editor/docs/SystemsDocumentationView/systems-documentation-view.sass
diff --git a/app/styles/editor/level/level-feedback-view.sass b/app/views/editor/level/LevelFeedbackView/level-feedback-view.sass
similarity index 100%
rename from app/styles/editor/level/level-feedback-view.sass
rename to app/views/editor/level/LevelFeedbackView/level-feedback-view.sass
diff --git a/app/styles/editor/level/component/level-component-edit-view.sass b/app/views/editor/level/components/LevelComponentEditView/level-component-edit-view.sass
similarity index 100%
rename from app/styles/editor/level/component/level-component-edit-view.sass
rename to app/views/editor/level/components/LevelComponentEditView/level-component-edit-view.sass
diff --git a/app/views/editor/level/modals/ArtisanGuideModal.coffee b/app/views/editor/level/modals/ArtisanGuideModal/ArtisanGuideModal.coffee
similarity index 96%
rename from app/views/editor/level/modals/ArtisanGuideModal.coffee
rename to app/views/editor/level/modals/ArtisanGuideModal/ArtisanGuideModal.coffee
index 58c82a59f..6758f0801 100644
--- a/app/views/editor/level/modals/ArtisanGuideModal.coffee
+++ b/app/views/editor/level/modals/ArtisanGuideModal/ArtisanGuideModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/editor/level/modal/artisan-guide-modal'
+template = require './artisan-guide-modal'
 
 forms = require 'core/forms'
 {sendContactMessage} = require 'core/contact'
diff --git a/app/templates/editor/level/modal/artisan-guide-modal.jade b/app/views/editor/level/modals/ArtisanGuideModal/artisan-guide-modal.jade
similarity index 100%
rename from app/templates/editor/level/modal/artisan-guide-modal.jade
rename to app/views/editor/level/modals/ArtisanGuideModal/artisan-guide-modal.jade
diff --git a/app/styles/editor/level/modal/artisan-guide-modal.sass b/app/views/editor/level/modals/ArtisanGuideModal/artisan-guide-modal.sass
similarity index 100%
rename from app/styles/editor/level/modal/artisan-guide-modal.sass
rename to app/views/editor/level/modals/ArtisanGuideModal/artisan-guide-modal.sass
diff --git a/app/views/editor/level/modals/ArtisanGuideModal/index.coffee b/app/views/editor/level/modals/ArtisanGuideModal/index.coffee
new file mode 100644
index 000000000..25aa2d1a0
--- /dev/null
+++ b/app/views/editor/level/modals/ArtisanGuideModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './ArtisanGuideModal'
\ No newline at end of file
diff --git a/app/views/editor/level/modals/GenerateTerrainModal.coffee b/app/views/editor/level/modals/GenerateTerrainModal/GenerateTerrainModal.coffee
similarity index 99%
rename from app/views/editor/level/modals/GenerateTerrainModal.coffee
rename to app/views/editor/level/modals/GenerateTerrainModal/GenerateTerrainModal.coffee
index 9f95db954..7237fad9c 100644
--- a/app/views/editor/level/modals/GenerateTerrainModal.coffee
+++ b/app/views/editor/level/modals/GenerateTerrainModal/GenerateTerrainModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/editor/level/modal/generate-terrain-modal'
+template = require './generate-terrain-modal'
 CocoModel = require 'models/CocoModel'
 
 clusters = {
diff --git a/app/templates/editor/level/modal/generate-terrain-modal.jade b/app/views/editor/level/modals/GenerateTerrainModal/generate-terrain-modal.jade
similarity index 100%
rename from app/templates/editor/level/modal/generate-terrain-modal.jade
rename to app/views/editor/level/modals/GenerateTerrainModal/generate-terrain-modal.jade
diff --git a/app/styles/editor/level/modal/generate-terrain-modal.sass b/app/views/editor/level/modals/GenerateTerrainModal/generate-terrain-modal.sass
similarity index 100%
rename from app/styles/editor/level/modal/generate-terrain-modal.sass
rename to app/views/editor/level/modals/GenerateTerrainModal/generate-terrain-modal.sass
diff --git a/app/views/editor/level/modals/GenerateTerrainModal/index.coffee b/app/views/editor/level/modals/GenerateTerrainModal/index.coffee
new file mode 100644
index 000000000..8d3a06343
--- /dev/null
+++ b/app/views/editor/level/modals/GenerateTerrainModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './GenerateTerrainModal'
\ No newline at end of file
diff --git a/app/views/editor/level/modals/WorldSelectModal.coffee b/app/views/editor/level/modals/WorldSelectModal/WorldSelectModal.coffee
similarity index 97%
rename from app/views/editor/level/modals/WorldSelectModal.coffee
rename to app/views/editor/level/modals/WorldSelectModal/WorldSelectModal.coffee
index 35dd8d36b..63c38ed2b 100644
--- a/app/views/editor/level/modals/WorldSelectModal.coffee
+++ b/app/views/editor/level/modals/WorldSelectModal/WorldSelectModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/editor/level/modal/world-select-modal'
+template = require './world-select-modal'
 Surface = require 'lib/surface/Surface'
 ThangType = require 'models/ThangType'
 
diff --git a/app/views/editor/level/modals/WorldSelectModal/index.coffee b/app/views/editor/level/modals/WorldSelectModal/index.coffee
new file mode 100644
index 000000000..79a40919b
--- /dev/null
+++ b/app/views/editor/level/modals/WorldSelectModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './WorldSelectModal'
\ No newline at end of file
diff --git a/app/templates/editor/level/modal/world-select-modal.jade b/app/views/editor/level/modals/WorldSelectModal/world-select-modal.jade
similarity index 100%
rename from app/templates/editor/level/modal/world-select-modal.jade
rename to app/views/editor/level/modals/WorldSelectModal/world-select-modal.jade
diff --git a/app/styles/editor/level/modal/world-select-modal.sass b/app/views/editor/level/modals/WorldSelectModal/world-select-modal.sass
similarity index 100%
rename from app/styles/editor/level/modal/world-select-modal.sass
rename to app/views/editor/level/modals/WorldSelectModal/world-select-modal.sass
diff --git a/app/styles/editor/level/system/level-system-edit-view.sass b/app/views/editor/level/systems/LevelSystemEditView/level-system-edit-view.sass
similarity index 100%
rename from app/styles/editor/level/system/level-system-edit-view.sass
rename to app/views/editor/level/systems/LevelSystemEditView/level-system-edit-view.sass
diff --git a/app/styles/editor/level/systems-tab-view.sass b/app/views/editor/level/systems/SystemsTabView/systems-tab-view.sass
similarity index 100%
rename from app/styles/editor/level/systems-tab-view.sass
rename to app/views/editor/level/systems/SystemsTabView/systems-tab-view.sass
diff --git a/app/styles/editor/level/add-thangs-view.sass b/app/views/editor/level/thangs/AddThangsView/add-thangs-view.sass
similarity index 100%
rename from app/styles/editor/level/add-thangs-view.sass
rename to app/views/editor/level/thangs/AddThangsView/add-thangs-view.sass
diff --git a/app/styles/editor/level/thang/level-thang-edit-view.sass b/app/views/editor/level/thangs/LevelThangEditView/level-thang-edit-view.sass
similarity index 100%
rename from app/styles/editor/level/thang/level-thang-edit-view.sass
rename to app/views/editor/level/thangs/LevelThangEditView/level-thang-edit-view.sass
diff --git a/app/styles/editor/level/thangs-tab-view.sass b/app/views/editor/level/thangs/ThangsTabView/thangs-tab-view.sass
similarity index 100%
rename from app/styles/editor/level/thangs-tab-view.sass
rename to app/views/editor/level/thangs/ThangsTabView/thangs-tab-view.sass
diff --git a/app/views/editor/modal/ConfirmModal.coffee b/app/views/editor/modal/ConfirmModal/ConfirmModal.coffee
similarity index 81%
rename from app/views/editor/modal/ConfirmModal.coffee
rename to app/views/editor/modal/ConfirmModal/ConfirmModal.coffee
index 9812a0801..8203c398c 100644
--- a/app/views/editor/modal/ConfirmModal.coffee
+++ b/app/views/editor/modal/ConfirmModal/ConfirmModal.coffee
@@ -1,5 +1,5 @@
-ModalView = require '../../core/ModalView'
-template = require 'templates/editor/modal/confirm-modal'
+ModalView = require '../../../core/ModalView'
+template = require './confirm-modal'
 
 module.exports = class ConfirmModal extends ModalView
   id: 'confirm-modal'
diff --git a/app/templates/editor/modal/confirm-modal.jade b/app/views/editor/modal/ConfirmModal/confirm-modal.jade
similarity index 100%
rename from app/templates/editor/modal/confirm-modal.jade
rename to app/views/editor/modal/ConfirmModal/confirm-modal.jade
diff --git a/app/views/editor/modal/ConfirmModal/index.coffee b/app/views/editor/modal/ConfirmModal/index.coffee
new file mode 100644
index 000000000..377707785
--- /dev/null
+++ b/app/views/editor/modal/ConfirmModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './ConfirmModal'
\ No newline at end of file
diff --git a/app/views/editor/modal/NewModelModal.coffee b/app/views/editor/modal/NewModelModal/NewModelModal.coffee
similarity index 96%
rename from app/views/editor/modal/NewModelModal.coffee
rename to app/views/editor/modal/NewModelModal/NewModelModal.coffee
index ea2b3776d..2854b7832 100644
--- a/app/views/editor/modal/NewModelModal.coffee
+++ b/app/views/editor/modal/NewModelModal/NewModelModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/editor/modal/new-model-modal'
+template = require './new-model-modal'
 forms = require 'core/forms'
 
 module.exports = class NewModelModal extends ModalView
diff --git a/app/views/editor/modal/NewModelModal/index.coffee b/app/views/editor/modal/NewModelModal/index.coffee
new file mode 100644
index 000000000..a042765bb
--- /dev/null
+++ b/app/views/editor/modal/NewModelModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './NewModelModal'
\ No newline at end of file
diff --git a/app/templates/editor/modal/new-model-modal.jade b/app/views/editor/modal/NewModelModal/new-model-modal.jade
similarity index 100%
rename from app/templates/editor/modal/new-model-modal.jade
rename to app/views/editor/modal/NewModelModal/new-model-modal.jade
diff --git a/app/views/editor/modal/SaveVersionModal.coffee b/app/views/editor/modal/SaveVersionModal/SaveVersionModal.coffee
similarity index 97%
rename from app/views/editor/modal/SaveVersionModal.coffee
rename to app/views/editor/modal/SaveVersionModal/SaveVersionModal.coffee
index effee16d0..21f0225b8 100644
--- a/app/views/editor/modal/SaveVersionModal.coffee
+++ b/app/views/editor/modal/SaveVersionModal/SaveVersionModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/editor/modal/save-version-modal'
+template = require './save-version-modal'
 DeltaView = require 'views/editor/DeltaView'
 Patch = require 'models/Patch'
 forms = require 'core/forms'
diff --git a/app/views/editor/modal/SaveVersionModal/index.coffee b/app/views/editor/modal/SaveVersionModal/index.coffee
new file mode 100644
index 000000000..0997de7ec
--- /dev/null
+++ b/app/views/editor/modal/SaveVersionModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './SaveVersionModal'
\ No newline at end of file
diff --git a/app/templates/editor/modal/save-version-modal.jade b/app/views/editor/modal/SaveVersionModal/save-version-modal.jade
similarity index 100%
rename from app/templates/editor/modal/save-version-modal.jade
rename to app/views/editor/modal/SaveVersionModal/save-version-modal.jade
diff --git a/app/styles/modal/save-version-modal.sass b/app/views/editor/modal/SaveVersionModal/save-version-modal.sass
similarity index 100%
rename from app/styles/modal/save-version-modal.sass
rename to app/views/editor/modal/SaveVersionModal/save-version-modal.sass
diff --git a/app/views/editor/modal/VersionsModal.coffee b/app/views/editor/modal/VersionsModal/VersionsModal.coffee
similarity index 97%
rename from app/views/editor/modal/VersionsModal.coffee
rename to app/views/editor/modal/VersionsModal/VersionsModal.coffee
index c5a02e117..1c504f8c2 100755
--- a/app/views/editor/modal/VersionsModal.coffee
+++ b/app/views/editor/modal/VersionsModal/VersionsModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/editor/modal/versions-modal'
+template = require './versions-modal'
 DeltaView = require 'views/editor/DeltaView'
 PatchModal = require 'views/editor/PatchModal'
 nameLoader = require 'core/NameLoader'
diff --git a/app/views/editor/modal/VersionsModal/index.coffee b/app/views/editor/modal/VersionsModal/index.coffee
new file mode 100644
index 000000000..9e4010e72
--- /dev/null
+++ b/app/views/editor/modal/VersionsModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './VersionsModal'
\ No newline at end of file
diff --git a/app/templates/editor/modal/versions-modal.jade b/app/views/editor/modal/VersionsModal/versions-modal.jade
similarity index 100%
rename from app/templates/editor/modal/versions-modal.jade
rename to app/views/editor/modal/VersionsModal/versions-modal.jade
diff --git a/app/styles/editor/poll/poll-edit-view.sass b/app/views/editor/poll/PollEditView/poll-edit-view.sass
similarity index 100%
rename from app/styles/editor/poll/poll-edit-view.sass
rename to app/views/editor/poll/PollEditView/poll-edit-view.sass
diff --git a/app/views/editor/thang/ExportThangTypeModal.coffee b/app/views/editor/thang/ExportThangTypeModal/ExportThangTypeModal.coffee
similarity index 97%
rename from app/views/editor/thang/ExportThangTypeModal.coffee
rename to app/views/editor/thang/ExportThangTypeModal/ExportThangTypeModal.coffee
index 70c444251..764b32ae3 100644
--- a/app/views/editor/thang/ExportThangTypeModal.coffee
+++ b/app/views/editor/thang/ExportThangTypeModal/ExportThangTypeModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/editor/thang/export-thang-type-modal'
+template = require './export-thang-type-modal'
 SpriteExporter = require 'lib/sprites/SpriteExporter'
 
 module.exports = class ExportThangTypeModal extends ModalView
diff --git a/app/templates/editor/thang/export-thang-type-modal.jade b/app/views/editor/thang/ExportThangTypeModal/export-thang-type-modal.jade
similarity index 100%
rename from app/templates/editor/thang/export-thang-type-modal.jade
rename to app/views/editor/thang/ExportThangTypeModal/export-thang-type-modal.jade
diff --git a/app/views/editor/thang/ExportThangTypeModal/index.coffee b/app/views/editor/thang/ExportThangTypeModal/index.coffee
new file mode 100644
index 000000000..5bde5d11f
--- /dev/null
+++ b/app/views/editor/thang/ExportThangTypeModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './ExportThangTypeModal'
\ No newline at end of file
diff --git a/app/styles/editor/thang/thang-type-edit-view.sass b/app/views/editor/thang/ThangTypeEditView/thang-type-edit-view.sass
similarity index 100%
rename from app/styles/editor/thang/thang-type-edit-view.sass
rename to app/views/editor/thang/ThangTypeEditView/thang-type-edit-view.sass
diff --git a/app/views/editor/thang/VectorIconSetupModal.coffee b/app/views/editor/thang/VectorIconSetupModal/VectorIconSetupModal.coffee
similarity index 97%
rename from app/views/editor/thang/VectorIconSetupModal.coffee
rename to app/views/editor/thang/VectorIconSetupModal/VectorIconSetupModal.coffee
index a5b1516d9..f2cb5467b 100644
--- a/app/views/editor/thang/VectorIconSetupModal.coffee
+++ b/app/views/editor/thang/VectorIconSetupModal/VectorIconSetupModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/editor/thang/vector-icon-setup-modal'
+template = require './vector-icon-setup-modal'
 
 module.exports = class VectorIconSetupModal extends ModalView
   id: "vector-icon-setup-modal"
diff --git a/app/views/editor/thang/VectorIconSetupModal/index.coffee b/app/views/editor/thang/VectorIconSetupModal/index.coffee
new file mode 100644
index 000000000..4936a27f9
--- /dev/null
+++ b/app/views/editor/thang/VectorIconSetupModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './VectorIconSetupModal'
\ No newline at end of file
diff --git a/app/templates/editor/thang/vector-icon-setup-modal.jade b/app/views/editor/thang/VectorIconSetupModal/vector-icon-setup-modal.jade
similarity index 100%
rename from app/templates/editor/thang/vector-icon-setup-modal.jade
rename to app/views/editor/thang/VectorIconSetupModal/vector-icon-setup-modal.jade
diff --git a/app/styles/editor/thang/vector-icon-setup-modal.sass b/app/views/editor/thang/VectorIconSetupModal/vector-icon-setup-modal.sass
similarity index 100%
rename from app/styles/editor/thang/vector-icon-setup-modal.sass
rename to app/views/editor/thang/VectorIconSetupModal/vector-icon-setup-modal.sass
diff --git a/app/styles/editor/verifier/verifier-view.sass b/app/views/editor/verifier/VerifierView/verifier-view.sass
similarity index 100%
rename from app/styles/editor/verifier/verifier-view.sass
rename to app/views/editor/verifier/VerifierView/verifier-view.sass
diff --git a/app/styles/play/ladder/ladder-tab-view.sass b/app/views/ladder/LadderTabView/ladder-tab-view.sass
similarity index 100%
rename from app/styles/play/ladder/ladder-tab-view.sass
rename to app/views/ladder/LadderTabView/ladder-tab-view.sass
diff --git a/app/views/modal/ModelModal.coffee b/app/views/modal/ModelModal/ModelModal.coffee
similarity index 98%
rename from app/views/modal/ModelModal.coffee
rename to app/views/modal/ModelModal/ModelModal.coffee
index 94eafade6..d91f31812 100644
--- a/app/views/modal/ModelModal.coffee
+++ b/app/views/modal/ModelModal/ModelModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/modal/model-modal'
+template = require './model-modal'
 require 'vendor/treema'
 
 module.exports = class ModelModal extends ModalView
diff --git a/app/views/modal/ModelModal/index.coffee b/app/views/modal/ModelModal/index.coffee
new file mode 100644
index 000000000..7fcaba80d
--- /dev/null
+++ b/app/views/modal/ModelModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './ModelModal'
\ No newline at end of file
diff --git a/app/templates/modal/model-modal.jade b/app/views/modal/ModelModal/model-modal.jade
similarity index 100%
rename from app/templates/modal/model-modal.jade
rename to app/views/modal/ModelModal/model-modal.jade
diff --git a/app/styles/modal/model-modal.sass b/app/views/modal/ModelModal/model-modal.sass
similarity index 100%
rename from app/styles/modal/model-modal.sass
rename to app/views/modal/ModelModal/model-modal.sass
diff --git a/app/views/modal/RevertModal.coffee b/app/views/modal/RevertModal/RevertModal.coffee
similarity index 92%
rename from app/views/modal/RevertModal.coffee
rename to app/views/modal/RevertModal/RevertModal.coffee
index f6f977c75..4a06424c4 100644
--- a/app/views/modal/RevertModal.coffee
+++ b/app/views/modal/RevertModal/RevertModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/modal/revert-modal'
+template = require './revert-modal'
 CocoModel = require 'models/CocoModel'
 
 module.exports = class RevertModal extends ModalView
diff --git a/app/views/modal/RevertModal/index.coffee b/app/views/modal/RevertModal/index.coffee
new file mode 100644
index 000000000..09e14a30f
--- /dev/null
+++ b/app/views/modal/RevertModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './RevertModal'
\ No newline at end of file
diff --git a/app/templates/modal/revert-modal.jade b/app/views/modal/RevertModal/revert-modal.jade
similarity index 100%
rename from app/templates/modal/revert-modal.jade
rename to app/views/modal/RevertModal/revert-modal.jade
diff --git a/app/styles/modal/revert-modal.sass b/app/views/modal/RevertModal/revert-modal.sass
similarity index 100%
rename from app/styles/modal/revert-modal.sass
rename to app/views/modal/RevertModal/revert-modal.sass
diff --git a/app/styles/play/campaign-view.sass b/app/views/play/CampaignView/campaign-view.sass
similarity index 100%
rename from app/styles/play/campaign-view.sass
rename to app/views/play/CampaignView/campaign-view.sass
diff --git a/app/styles/play/level/control-bar-view.sass b/app/views/play/level/ControlBarView/control-bar-view.sass
similarity index 100%
rename from app/styles/play/level/control-bar-view.sass
rename to app/views/play/level/ControlBarView/control-bar-view.sass
diff --git a/app/styles/play/level/duel-stats-view.sass b/app/views/play/level/DuelStatsView/duel-stats-view.sass
similarity index 100%
rename from app/styles/play/level/duel-stats-view.sass
rename to app/views/play/level/DuelStatsView/duel-stats-view.sass
diff --git a/app/styles/play/level/hints-view.sass b/app/views/play/level/HintsView/hints-view.sass
similarity index 100%
rename from app/styles/play/level/hints-view.sass
rename to app/views/play/level/HintsView/hints-view.sass
diff --git a/app/styles/play/level/level-dialogue-view.sass b/app/views/play/level/LevelDialogueView/level-dialogue-view.sass
similarity index 100%
rename from app/styles/play/level/level-dialogue-view.sass
rename to app/views/play/level/LevelDialogueView/level-dialogue-view.sass
diff --git a/app/styles/play/level/level-flags-view.sass b/app/views/play/level/LevelFlagsView/level-flags-view.sass
similarity index 100%
rename from app/styles/play/level/level-flags-view.sass
rename to app/views/play/level/LevelFlagsView/level-flags-view.sass
diff --git a/app/styles/play/level/level-playback-view.sass b/app/views/play/level/LevelPlaybackView/level-playback-view.sass
similarity index 100%
rename from app/styles/play/level/level-playback-view.sass
rename to app/views/play/level/LevelPlaybackView/level-playback-view.sass
diff --git a/app/styles/play/level/play-game-dev-level-view.sass b/app/views/play/level/PlayGameDevLevelView/play-game-dev-level-view.sass
similarity index 100%
rename from app/styles/play/level/play-game-dev-level-view.sass
rename to app/views/play/level/PlayGameDevLevelView/play-game-dev-level-view.sass
diff --git a/app/styles/play/play-level-view.sass b/app/views/play/level/PlayLevelView/play-level-view.sass
similarity index 100%
rename from app/styles/play/play-level-view.sass
rename to app/views/play/level/PlayLevelView/play-level-view.sass
diff --git a/app/styles/play/level/play-web-dev-level-view.sass b/app/views/play/level/PlayWebDevLevelView/play-web-dev-level-view.sass
similarity index 100%
rename from app/styles/play/level/play-web-dev-level-view.sass
rename to app/views/play/level/PlayWebDevLevelView/play-web-dev-level-view.sass
diff --git a/app/styles/play/level/web-surface-view.sass b/app/views/play/level/WebSurfaceView/web-surface-view.sass
similarity index 100%
rename from app/styles/play/level/web-surface-view.sass
rename to app/views/play/level/WebSurfaceView/web-surface-view.sass
diff --git a/app/views/play/level/modal/CourseVictoryModal.coffee b/app/views/play/level/modal/CourseVictoryModal/CourseVictoryModal.coffee
similarity index 97%
rename from app/views/play/level/modal/CourseVictoryModal.coffee
rename to app/views/play/level/modal/CourseVictoryModal/CourseVictoryModal.coffee
index 6c94fe7c2..ff3cdb750 100644
--- a/app/views/play/level/modal/CourseVictoryModal.coffee
+++ b/app/views/play/level/modal/CourseVictoryModal/CourseVictoryModal.coffee
@@ -1,9 +1,9 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/play/level/modal/course-victory-modal'
+template = require './course-victory-modal'
 Level = require 'models/Level'
 Course = require 'models/Course'
 LevelSessions = require 'collections/LevelSessions'
-ProgressView = require './ProgressView'
+ProgressView = require '../ProgressView'
 Classroom = require 'models/Classroom'
 utils = require 'core/utils'
 
diff --git a/test/app/views/play/level/modal/CourseVictoryModal.fixtures.coffee b/app/views/play/level/modal/CourseVictoryModal/CourseVictoryModal.fixtures.coffee
similarity index 100%
rename from test/app/views/play/level/modal/CourseVictoryModal.fixtures.coffee
rename to app/views/play/level/modal/CourseVictoryModal/CourseVictoryModal.fixtures.coffee
diff --git a/app/templates/play/level/modal/course-victory-modal.jade b/app/views/play/level/modal/CourseVictoryModal/course-victory-modal.jade
similarity index 100%
rename from app/templates/play/level/modal/course-victory-modal.jade
rename to app/views/play/level/modal/CourseVictoryModal/course-victory-modal.jade
diff --git a/app/styles/play/level/modal/course-victory-modal.sass b/app/views/play/level/modal/CourseVictoryModal/course-victory-modal.sass
similarity index 100%
rename from app/styles/play/level/modal/course-victory-modal.sass
rename to app/views/play/level/modal/CourseVictoryModal/course-victory-modal.sass
diff --git a/app/views/play/level/modal/CourseVictoryModal/index.coffee b/app/views/play/level/modal/CourseVictoryModal/index.coffee
new file mode 100644
index 000000000..ba672495c
--- /dev/null
+++ b/app/views/play/level/modal/CourseVictoryModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './CourseVictoryModal'
\ No newline at end of file
diff --git a/app/views/play/level/modal/GameDevVictoryModal.coffee b/app/views/play/level/modal/GameDevVictoryModal/GameDevVictoryModal.coffee
similarity index 91%
rename from app/views/play/level/modal/GameDevVictoryModal.coffee
rename to app/views/play/level/modal/GameDevVictoryModal/GameDevVictoryModal.coffee
index cb732f0a6..1604973bd 100644
--- a/app/views/play/level/modal/GameDevVictoryModal.coffee
+++ b/app/views/play/level/modal/GameDevVictoryModal/GameDevVictoryModal.coffee
@@ -4,7 +4,7 @@ category = 'Play GameDev Level'
 
 module.exports = class GameDevVictoryModal extends ModalView
   id: 'game-dev-victory-modal'
-  template: require 'templates/play/level/modal/game-dev-victory-modal'
+  template: require './game-dev-victory-modal'
   
   events:
     'click #replay-game-btn': 'onClickReplayButton'
diff --git a/app/templates/play/level/modal/game-dev-victory-modal.jade b/app/views/play/level/modal/GameDevVictoryModal/game-dev-victory-modal.jade
similarity index 100%
rename from app/templates/play/level/modal/game-dev-victory-modal.jade
rename to app/views/play/level/modal/GameDevVictoryModal/game-dev-victory-modal.jade
diff --git a/app/styles/play/level/modal/game-dev-victory-modal.sass b/app/views/play/level/modal/GameDevVictoryModal/game-dev-victory-modal.sass
similarity index 100%
rename from app/styles/play/level/modal/game-dev-victory-modal.sass
rename to app/views/play/level/modal/GameDevVictoryModal/game-dev-victory-modal.sass
diff --git a/app/views/play/level/modal/GameDevVictoryModal/index.coffee b/app/views/play/level/modal/GameDevVictoryModal/index.coffee
new file mode 100644
index 000000000..1b8fd4718
--- /dev/null
+++ b/app/views/play/level/modal/GameDevVictoryModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './GameDevVictoryModal'
\ No newline at end of file
diff --git a/app/views/play/level/modal/HeroVictoryModal.coffee b/app/views/play/level/modal/HeroVictoryModal/HeroVictoryModal.coffee
similarity index 99%
rename from app/views/play/level/modal/HeroVictoryModal.coffee
rename to app/views/play/level/modal/HeroVictoryModal/HeroVictoryModal.coffee
index 343c38542..2825de99e 100644
--- a/app/views/play/level/modal/HeroVictoryModal.coffee
+++ b/app/views/play/level/modal/HeroVictoryModal/HeroVictoryModal.coffee
@@ -1,6 +1,6 @@
 ModalView = require 'views/core/ModalView'
 CreateAccountModal = require 'views/core/CreateAccountModal'
-template = require 'templates/play/level/modal/hero-victory-modal'
+template = require './hero-victory-modal'
 Achievement = require 'models/Achievement'
 EarnedAchievement = require 'models/EarnedAchievement'
 CocoCollection = require 'collections/CocoCollection'
diff --git a/app/templates/play/level/modal/hero-victory-modal.jade b/app/views/play/level/modal/HeroVictoryModal/hero-victory-modal.jade
similarity index 100%
rename from app/templates/play/level/modal/hero-victory-modal.jade
rename to app/views/play/level/modal/HeroVictoryModal/hero-victory-modal.jade
diff --git a/app/styles/play/level/modal/hero-victory-modal.sass b/app/views/play/level/modal/HeroVictoryModal/hero-victory-modal.sass
similarity index 100%
rename from app/styles/play/level/modal/hero-victory-modal.sass
rename to app/views/play/level/modal/HeroVictoryModal/hero-victory-modal.sass
diff --git a/app/views/play/level/modal/HeroVictoryModal/index.coffee b/app/views/play/level/modal/HeroVictoryModal/index.coffee
new file mode 100644
index 000000000..69d9caee3
--- /dev/null
+++ b/app/views/play/level/modal/HeroVictoryModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './HeroVictoryModal'
\ No newline at end of file
diff --git a/app/views/play/level/modal/ImageGalleryModal.coffee b/app/views/play/level/modal/ImageGalleryModal/ImageGalleryModal.coffee
similarity index 99%
rename from app/views/play/level/modal/ImageGalleryModal.coffee
rename to app/views/play/level/modal/ImageGalleryModal/ImageGalleryModal.coffee
index d37133413..cd840fc83 100644
--- a/app/views/play/level/modal/ImageGalleryModal.coffee
+++ b/app/views/play/level/modal/ImageGalleryModal/ImageGalleryModal.coffee
@@ -4,7 +4,7 @@ utils = require 'core/utils'
 
 module.exports = class ImageGalleryModal extends ModalView
   id: 'image-gallery-modal'
-  template: require 'templates/play/level/modal/image-gallery-modal'
+  template: require './image-gallery-modal'
 
   events:
     'click .image-list-item': 'onClickImageListItem'
diff --git a/test/app/views/play/level/modal/ImageGalleryModal.spec.coffee b/app/views/play/level/modal/ImageGalleryModal/ImageGalleryModal.spec.coffee
similarity index 100%
rename from test/app/views/play/level/modal/ImageGalleryModal.spec.coffee
rename to app/views/play/level/modal/ImageGalleryModal/ImageGalleryModal.spec.coffee
diff --git a/app/templates/play/level/modal/image-gallery-modal.jade b/app/views/play/level/modal/ImageGalleryModal/image-gallery-modal.jade
similarity index 100%
rename from app/templates/play/level/modal/image-gallery-modal.jade
rename to app/views/play/level/modal/ImageGalleryModal/image-gallery-modal.jade
diff --git a/app/styles/play/modal/image-gallery-modal.sass b/app/views/play/level/modal/ImageGalleryModal/image-gallery-modal.sass
similarity index 100%
rename from app/styles/play/modal/image-gallery-modal.sass
rename to app/views/play/level/modal/ImageGalleryModal/image-gallery-modal.sass
diff --git a/app/views/play/level/modal/ImageGalleryModal/index.coffee b/app/views/play/level/modal/ImageGalleryModal/index.coffee
new file mode 100644
index 000000000..9f1015a20
--- /dev/null
+++ b/app/views/play/level/modal/ImageGalleryModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './ImageGalleryModal'
\ No newline at end of file
diff --git a/app/styles/play/level/modal/new-item-view.sass b/app/views/play/level/modal/NewItemView/new-item-view.sass
similarity index 100%
rename from app/styles/play/level/modal/new-item-view.sass
rename to app/views/play/level/modal/NewItemView/new-item-view.sass
diff --git a/app/styles/play/level/modal/progress-view.sass b/app/views/play/level/modal/ProgressView/progress-view.sass
similarity index 100%
rename from app/styles/play/level/modal/progress-view.sass
rename to app/views/play/level/modal/ProgressView/progress-view.sass
diff --git a/app/views/play/level/modal/ReloadLevelModal.coffee b/app/views/play/level/modal/ReloadLevelModal/ReloadLevelModal.coffee
similarity index 86%
rename from app/views/play/level/modal/ReloadLevelModal.coffee
rename to app/views/play/level/modal/ReloadLevelModal/ReloadLevelModal.coffee
index 578984dc0..3a12bc608 100644
--- a/app/views/play/level/modal/ReloadLevelModal.coffee
+++ b/app/views/play/level/modal/ReloadLevelModal/ReloadLevelModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/play/level/modal/reload-level-modal'
+template = require './reload-level-modal'
 
 module.exports = class ReloadLevelModal extends ModalView
   id: '#reload-level-modal'
diff --git a/app/views/play/level/modal/ReloadLevelModal/index.coffee b/app/views/play/level/modal/ReloadLevelModal/index.coffee
new file mode 100644
index 000000000..0cc9f00b3
--- /dev/null
+++ b/app/views/play/level/modal/ReloadLevelModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './ReloadLevelModal'
\ No newline at end of file
diff --git a/app/templates/play/level/modal/reload-level-modal.jade b/app/views/play/level/modal/ReloadLevelModal/reload-level-modal.jade
similarity index 100%
rename from app/templates/play/level/modal/reload-level-modal.jade
rename to app/views/play/level/modal/ReloadLevelModal/reload-level-modal.jade
diff --git a/app/styles/play/level/tome/spell-palette-view.sass b/app/views/play/level/tome/SpellPaletteView/spell-palette-view.sass
similarity index 100%
rename from app/styles/play/level/tome/spell-palette-view.sass
rename to app/views/play/level/tome/SpellPaletteView/spell-palette-view.sass
diff --git a/app/styles/play/level/tome/spell-top-bar-view.sass b/app/views/play/level/tome/SpellTopBarView/spell-top-bar-view.sass
similarity index 100%
rename from app/styles/play/level/tome/spell-top-bar-view.sass
rename to app/views/play/level/tome/SpellTopBarView/spell-top-bar-view.sass
diff --git a/app/views/play/menu/GameMenuModal.coffee b/app/views/play/menu/GameMenuModal/GameMenuModal.coffee
similarity index 98%
rename from app/views/play/menu/GameMenuModal.coffee
rename to app/views/play/menu/GameMenuModal/GameMenuModal.coffee
index 2f897b52d..978b5e124 100644
--- a/app/views/play/menu/GameMenuModal.coffee
+++ b/app/views/play/menu/GameMenuModal/GameMenuModal.coffee
@@ -1,6 +1,6 @@
 ModalView = require 'views/core/ModalView'
 CreateAccountModal = require 'views/core/CreateAccountModal'
-template = require 'templates/play/menu/game-menu-modal'
+template = require './game-menu-modal'
 submenuViews = [
   require 'views/play/menu/SaveLoadView'
   require 'views/play/menu/OptionsView'
diff --git a/app/templates/play/menu/game-menu-modal.jade b/app/views/play/menu/GameMenuModal/game-menu-modal.jade
similarity index 100%
rename from app/templates/play/menu/game-menu-modal.jade
rename to app/views/play/menu/GameMenuModal/game-menu-modal.jade
diff --git a/app/styles/play/menu/game-menu-modal.sass b/app/views/play/menu/GameMenuModal/game-menu-modal.sass
similarity index 100%
rename from app/styles/play/menu/game-menu-modal.sass
rename to app/views/play/menu/GameMenuModal/game-menu-modal.sass
diff --git a/app/views/play/menu/GameMenuModal/index.coffee b/app/views/play/menu/GameMenuModal/index.coffee
new file mode 100644
index 000000000..805bebc9c
--- /dev/null
+++ b/app/views/play/menu/GameMenuModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './GameMenuModal'
\ No newline at end of file
diff --git a/app/styles/play/menu/guide-view.sass b/app/views/play/menu/GuideView/guide-view.sass
similarity index 100%
rename from app/styles/play/menu/guide-view.sass
rename to app/views/play/menu/GuideView/guide-view.sass
diff --git a/app/views/play/menu/InventoryModal.coffee b/app/views/play/menu/InventoryModal/InventoryModal.coffee
similarity index 99%
rename from app/views/play/menu/InventoryModal.coffee
rename to app/views/play/menu/InventoryModal/InventoryModal.coffee
index b274ee7d9..21c9db067 100644
--- a/app/views/play/menu/InventoryModal.coffee
+++ b/app/views/play/menu/InventoryModal/InventoryModal.coffee
@@ -1,10 +1,10 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/play/menu/inventory-modal'
+template = require './inventory-modal'
 buyGemsPromptTemplate = require 'templates/play/modal/buy-gems-prompt'
 {me} = require 'core/auth'
 ThangType = require 'models/ThangType'
 CocoCollection = require 'collections/CocoCollection'
-ItemView = require './ItemView'
+ItemView = require '../ItemView'
 SpriteBuilder = require 'lib/sprites/SpriteBuilder'
 ItemDetailsView = require 'views/play/modal/ItemDetailsView'
 Purchase = require 'models/Purchase'
diff --git a/app/views/play/menu/InventoryModal/index.coffee b/app/views/play/menu/InventoryModal/index.coffee
new file mode 100644
index 000000000..6d59fc431
--- /dev/null
+++ b/app/views/play/menu/InventoryModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './InventoryModal'
\ No newline at end of file
diff --git a/app/templates/play/menu/inventory-modal.jade b/app/views/play/menu/InventoryModal/inventory-modal.jade
similarity index 100%
rename from app/templates/play/menu/inventory-modal.jade
rename to app/views/play/menu/InventoryModal/inventory-modal.jade
diff --git a/app/styles/play/menu/inventory-modal.sass b/app/views/play/menu/InventoryModal/inventory-modal.sass
similarity index 100%
rename from app/styles/play/menu/inventory-modal.sass
rename to app/views/play/menu/InventoryModal/inventory-modal.sass
diff --git a/app/styles/play/menu/item-view.sass b/app/views/play/menu/ItemView/item-view.sass
similarity index 100%
rename from app/styles/play/menu/item-view.sass
rename to app/views/play/menu/ItemView/item-view.sass
diff --git a/app/styles/play/menu/options-view.sass b/app/views/play/menu/OptionsView/options-view.sass
similarity index 100%
rename from app/styles/play/menu/options-view.sass
rename to app/views/play/menu/OptionsView/options-view.sass
diff --git a/app/styles/play/menu/save-load-view.sass b/app/views/play/menu/SaveLoadView/save-load-view.sass
similarity index 100%
rename from app/styles/play/menu/save-load-view.sass
rename to app/views/play/menu/SaveLoadView/save-load-view.sass
diff --git a/app/views/play/modal/BuyGemsModal.coffee b/app/views/play/modal/BuyGemsModal/BuyGemsModal.coffee
similarity index 98%
rename from app/views/play/modal/BuyGemsModal.coffee
rename to app/views/play/modal/BuyGemsModal/BuyGemsModal.coffee
index 816715cce..2783fee01 100644
--- a/app/views/play/modal/BuyGemsModal.coffee
+++ b/app/views/play/modal/BuyGemsModal/BuyGemsModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/play/modal/buy-gems-modal'
+template = require './buy-gems-modal'
 stripeHandler = require 'core/services/stripe'
 utils = require 'core/utils'
 SubscribeModal = require 'views/core/SubscribeModal'
diff --git a/app/templates/play/modal/buy-gems-modal.jade b/app/views/play/modal/BuyGemsModal/buy-gems-modal.jade
similarity index 100%
rename from app/templates/play/modal/buy-gems-modal.jade
rename to app/views/play/modal/BuyGemsModal/buy-gems-modal.jade
diff --git a/app/styles/play/modal/buy-gems-modal.sass b/app/views/play/modal/BuyGemsModal/buy-gems-modal.sass
similarity index 100%
rename from app/styles/play/modal/buy-gems-modal.sass
rename to app/views/play/modal/BuyGemsModal/buy-gems-modal.sass
diff --git a/app/views/play/modal/BuyGemsModal/index.coffee b/app/views/play/modal/BuyGemsModal/index.coffee
new file mode 100644
index 000000000..709023d41
--- /dev/null
+++ b/app/views/play/modal/BuyGemsModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './BuyGemsModal'
\ No newline at end of file
diff --git a/app/styles/play/modal/item-details-view.sass b/app/views/play/modal/ItemDetailsView/item-details-view.sass
similarity index 100%
rename from app/styles/play/modal/item-details-view.sass
rename to app/views/play/modal/ItemDetailsView/item-details-view.sass
diff --git a/app/views/play/modal/LeaderboardModal.coffee b/app/views/play/modal/LeaderboardModal/LeaderboardModal.coffee
similarity index 97%
rename from app/views/play/modal/LeaderboardModal.coffee
rename to app/views/play/modal/LeaderboardModal/LeaderboardModal.coffee
index 333eddfe5..60a53ea47 100644
--- a/app/views/play/modal/LeaderboardModal.coffee
+++ b/app/views/play/modal/LeaderboardModal/LeaderboardModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/play/modal/leaderboard-modal'
+template = require './leaderboard-modal'
 LeaderboardTabView = require 'views/play/modal/LeaderboardTabView'
 Level = require 'models/Level'
 utils = require 'core/utils'
diff --git a/app/views/play/modal/LeaderboardModal/index.coffee b/app/views/play/modal/LeaderboardModal/index.coffee
new file mode 100644
index 000000000..4fb9853fc
--- /dev/null
+++ b/app/views/play/modal/LeaderboardModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './LeaderboardModal'
\ No newline at end of file
diff --git a/app/templates/play/modal/leaderboard-modal.jade b/app/views/play/modal/LeaderboardModal/leaderboard-modal.jade
similarity index 100%
rename from app/templates/play/modal/leaderboard-modal.jade
rename to app/views/play/modal/LeaderboardModal/leaderboard-modal.jade
diff --git a/app/styles/play/modal/leaderboard-modal.sass b/app/views/play/modal/LeaderboardModal/leaderboard-modal.sass
similarity index 100%
rename from app/styles/play/modal/leaderboard-modal.sass
rename to app/views/play/modal/LeaderboardModal/leaderboard-modal.sass
diff --git a/app/styles/play/modal/leaderboard-tab-view.sass b/app/views/play/modal/LeaderboardTabView/leaderboard-tab-view.sass
similarity index 100%
rename from app/styles/play/modal/leaderboard-tab-view.sass
rename to app/views/play/modal/LeaderboardTabView/leaderboard-tab-view.sass
diff --git a/app/views/play/modal/PlayAccountModal.coffee b/app/views/play/modal/PlayAccountModal/PlayAccountModal.coffee
similarity index 96%
rename from app/views/play/modal/PlayAccountModal.coffee
rename to app/views/play/modal/PlayAccountModal/PlayAccountModal.coffee
index 9a1adc440..85ac66278 100644
--- a/app/views/play/modal/PlayAccountModal.coffee
+++ b/app/views/play/modal/PlayAccountModal/PlayAccountModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/play/modal/play-account-modal'
+template = require './play-account-modal'
 AccountSettingsView = require 'views/account/AccountSettingsView'
 
 module.exports = class PlayAccountModal extends ModalView
diff --git a/app/views/play/modal/PlayAccountModal/index.coffee b/app/views/play/modal/PlayAccountModal/index.coffee
new file mode 100644
index 000000000..53dd9f645
--- /dev/null
+++ b/app/views/play/modal/PlayAccountModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './PlayAccountModal'
\ No newline at end of file
diff --git a/app/templates/play/modal/play-account-modal.jade b/app/views/play/modal/PlayAccountModal/play-account-modal.jade
similarity index 100%
rename from app/templates/play/modal/play-account-modal.jade
rename to app/views/play/modal/PlayAccountModal/play-account-modal.jade
diff --git a/app/styles/play/modal/play-account-modal.sass b/app/views/play/modal/PlayAccountModal/play-account-modal.sass
similarity index 100%
rename from app/styles/play/modal/play-account-modal.sass
rename to app/views/play/modal/PlayAccountModal/play-account-modal.sass
diff --git a/app/views/play/modal/PlayAchievementsModal.coffee b/app/views/play/modal/PlayAchievementsModal/PlayAchievementsModal.coffee
similarity index 98%
rename from app/views/play/modal/PlayAchievementsModal.coffee
rename to app/views/play/modal/PlayAchievementsModal/PlayAchievementsModal.coffee
index f037009f8..db166c008 100644
--- a/app/views/play/modal/PlayAchievementsModal.coffee
+++ b/app/views/play/modal/PlayAchievementsModal/PlayAchievementsModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/play/modal/play-achievements-modal'
+template = require './play-achievements-modal'
 CocoCollection = require 'collections/CocoCollection'
 Achievement = require 'models/Achievement'
 EarnedAchievement = require 'models/EarnedAchievement'
diff --git a/app/views/play/modal/PlayAchievementsModal/index.coffee b/app/views/play/modal/PlayAchievementsModal/index.coffee
new file mode 100644
index 000000000..ab2780db6
--- /dev/null
+++ b/app/views/play/modal/PlayAchievementsModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './PlayAchievementsModal'
\ No newline at end of file
diff --git a/app/templates/play/modal/play-achievements-modal.jade b/app/views/play/modal/PlayAchievementsModal/play-achievements-modal.jade
similarity index 100%
rename from app/templates/play/modal/play-achievements-modal.jade
rename to app/views/play/modal/PlayAchievementsModal/play-achievements-modal.jade
diff --git a/app/styles/play/modal/play-achievements-modal.sass b/app/views/play/modal/PlayAchievementsModal/play-achievements-modal.sass
similarity index 100%
rename from app/styles/play/modal/play-achievements-modal.sass
rename to app/views/play/modal/PlayAchievementsModal/play-achievements-modal.sass
diff --git a/app/views/play/modal/PlayHeroesModal.coffee b/app/views/play/modal/PlayHeroesModal/PlayHeroesModal.coffee
similarity index 99%
rename from app/views/play/modal/PlayHeroesModal.coffee
rename to app/views/play/modal/PlayHeroesModal/PlayHeroesModal.coffee
index 731a9f514..35841d5c5 100644
--- a/app/views/play/modal/PlayHeroesModal.coffee
+++ b/app/views/play/modal/PlayHeroesModal/PlayHeroesModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/play/modal/play-heroes-modal'
+template = require './play-heroes-modal'
 buyGemsPromptTemplate = require 'templates/play/modal/buy-gems-prompt'
 CocoCollection = require 'collections/CocoCollection'
 ThangType = require 'models/ThangType'
diff --git a/app/views/play/modal/PlayHeroesModal/index.coffee b/app/views/play/modal/PlayHeroesModal/index.coffee
new file mode 100644
index 000000000..68b9f58be
--- /dev/null
+++ b/app/views/play/modal/PlayHeroesModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './PlayHeroesModal'
\ No newline at end of file
diff --git a/app/templates/play/modal/play-heroes-modal.jade b/app/views/play/modal/PlayHeroesModal/play-heroes-modal.jade
similarity index 100%
rename from app/templates/play/modal/play-heroes-modal.jade
rename to app/views/play/modal/PlayHeroesModal/play-heroes-modal.jade
diff --git a/app/styles/play/modal/play-heroes-modal.sass b/app/views/play/modal/PlayHeroesModal/play-heroes-modal.sass
similarity index 100%
rename from app/styles/play/modal/play-heroes-modal.sass
rename to app/views/play/modal/PlayHeroesModal/play-heroes-modal.sass
diff --git a/app/views/play/modal/PlayItemsModal.coffee b/app/views/play/modal/PlayItemsModal/PlayItemsModal.coffee
similarity index 98%
rename from app/views/play/modal/PlayItemsModal.coffee
rename to app/views/play/modal/PlayItemsModal/PlayItemsModal.coffee
index d4f3eff6c..33792011c 100644
--- a/app/views/play/modal/PlayItemsModal.coffee
+++ b/app/views/play/modal/PlayItemsModal/PlayItemsModal.coffee
@@ -1,7 +1,7 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/play/modal/play-items-modal'
+template = require './play-items-modal'
 buyGemsPromptTemplate = require 'templates/play/modal/buy-gems-prompt'
-ItemDetailsView = require './ItemDetailsView'
+ItemDetailsView = require '../ItemDetailsView'
 BuyGemsModal = require 'views/play/modal/BuyGemsModal'
 CreateAccountModal = require 'views/core/CreateAccountModal'
 
diff --git a/app/views/play/modal/PlayItemsModal/index.coffee b/app/views/play/modal/PlayItemsModal/index.coffee
new file mode 100644
index 000000000..1e7b91cef
--- /dev/null
+++ b/app/views/play/modal/PlayItemsModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './PlayItemsModal'
\ No newline at end of file
diff --git a/app/templates/play/modal/play-items-modal.jade b/app/views/play/modal/PlayItemsModal/play-items-modal.jade
similarity index 100%
rename from app/templates/play/modal/play-items-modal.jade
rename to app/views/play/modal/PlayItemsModal/play-items-modal.jade
diff --git a/app/styles/play/modal/play-items-modal.sass b/app/views/play/modal/PlayItemsModal/play-items-modal.sass
similarity index 100%
rename from app/styles/play/modal/play-items-modal.sass
rename to app/views/play/modal/PlayItemsModal/play-items-modal.sass
diff --git a/app/views/play/modal/PlaySettingsModal.coffee b/app/views/play/modal/PlaySettingsModal/PlaySettingsModal.coffee
similarity index 89%
rename from app/views/play/modal/PlaySettingsModal.coffee
rename to app/views/play/modal/PlaySettingsModal/PlaySettingsModal.coffee
index 028aa4227..5a6507bda 100644
--- a/app/views/play/modal/PlaySettingsModal.coffee
+++ b/app/views/play/modal/PlaySettingsModal/PlaySettingsModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/play/modal/play-settings-modal'
+template = require './play-settings-modal'
 
 module.exports = class PlaySettingsModal extends ModalView
   className: 'modal fade play-modal'
diff --git a/app/views/play/modal/PlaySettingsModal/index.coffee b/app/views/play/modal/PlaySettingsModal/index.coffee
new file mode 100644
index 000000000..e1ca1309a
--- /dev/null
+++ b/app/views/play/modal/PlaySettingsModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './PlaySettingsModal'
\ No newline at end of file
diff --git a/app/templates/play/modal/play-settings-modal.jade b/app/views/play/modal/PlaySettingsModal/play-settings-modal.jade
similarity index 100%
rename from app/templates/play/modal/play-settings-modal.jade
rename to app/views/play/modal/PlaySettingsModal/play-settings-modal.jade
diff --git a/app/styles/play/modal/play-settings-modal.sass b/app/views/play/modal/PlaySettingsModal/play-settings-modal.sass
similarity index 100%
rename from app/styles/play/modal/play-settings-modal.sass
rename to app/views/play/modal/PlaySettingsModal/play-settings-modal.sass
diff --git a/app/views/play/modal/PollModal.coffee b/app/views/play/modal/PollModal/PollModal.coffee
similarity index 98%
rename from app/views/play/modal/PollModal.coffee
rename to app/views/play/modal/PollModal/PollModal.coffee
index 420b3d971..061da2788 100644
--- a/app/views/play/modal/PollModal.coffee
+++ b/app/views/play/modal/PollModal/PollModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/play/modal/poll-modal'
+template = require './poll-modal'
 utils = require 'core/utils'
 UserPollsRecord = require 'models/UserPollsRecord'
 
diff --git a/app/views/play/modal/PollModal/index.coffee b/app/views/play/modal/PollModal/index.coffee
new file mode 100644
index 000000000..86fe0f981
--- /dev/null
+++ b/app/views/play/modal/PollModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './PollModal'
\ No newline at end of file
diff --git a/app/templates/play/modal/poll-modal.jade b/app/views/play/modal/PollModal/poll-modal.jade
similarity index 100%
rename from app/templates/play/modal/poll-modal.jade
rename to app/views/play/modal/PollModal/poll-modal.jade
diff --git a/app/styles/play/modal/poll-modal.sass b/app/views/play/modal/PollModal/poll-modal.sass
similarity index 100%
rename from app/styles/play/modal/poll-modal.sass
rename to app/views/play/modal/PollModal/poll-modal.sass
diff --git a/app/views/play/modal/ShareProgressModal.coffee b/app/views/play/modal/ShareProgressModal/ShareProgressModal.coffee
similarity index 92%
rename from app/views/play/modal/ShareProgressModal.coffee
rename to app/views/play/modal/ShareProgressModal/ShareProgressModal.coffee
index 4ea07b376..461201559 100644
--- a/app/views/play/modal/ShareProgressModal.coffee
+++ b/app/views/play/modal/ShareProgressModal/ShareProgressModal.coffee
@@ -1,5 +1,5 @@
 ModalView = require 'views/core/ModalView'
-template = require 'templates/play/modal/share-progress-modal'
+template = require './share-progress-modal'
 storage = require 'core/storage'
 
 module.exports = class ShareProgressModal extends ModalView
diff --git a/test/app/views/play/level/modal/ShareProgressModal.spec.coffee b/app/views/play/modal/ShareProgressModal/ShareProgressModal.spec.coffee
similarity index 100%
rename from test/app/views/play/level/modal/ShareProgressModal.spec.coffee
rename to app/views/play/modal/ShareProgressModal/ShareProgressModal.spec.coffee
diff --git a/app/views/play/modal/ShareProgressModal/index.coffee b/app/views/play/modal/ShareProgressModal/index.coffee
new file mode 100644
index 000000000..97563d3b4
--- /dev/null
+++ b/app/views/play/modal/ShareProgressModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './ShareProgressModal'
\ No newline at end of file
diff --git a/app/templates/play/modal/share-progress-modal.jade b/app/views/play/modal/ShareProgressModal/share-progress-modal.jade
similarity index 100%
rename from app/templates/play/modal/share-progress-modal.jade
rename to app/views/play/modal/ShareProgressModal/share-progress-modal.jade
diff --git a/app/styles/play/modal/share-progress-modal.sass b/app/views/play/modal/ShareProgressModal/share-progress-modal.sass
similarity index 100%
rename from app/styles/play/modal/share-progress-modal.sass
rename to app/views/play/modal/ShareProgressModal/share-progress-modal.sass
diff --git a/app/views/teachers/EditStudentModal.coffee b/app/views/teachers/EditStudentModal/EditStudentModal.coffee
similarity index 96%
rename from app/views/teachers/EditStudentModal.coffee
rename to app/views/teachers/EditStudentModal/EditStudentModal.coffee
index 7f7feae65..c3b436eef 100644
--- a/app/views/teachers/EditStudentModal.coffee
+++ b/app/views/teachers/EditStudentModal/EditStudentModal.coffee
@@ -1,6 +1,6 @@
 ModalView = require 'views/core/ModalView'
 State = require 'models/State'
-template = require 'templates/teachers/edit-student-modal'
+template = require './edit-student-modal'
 auth = require 'core/auth'
 
 module.exports = class EditStudentModal extends ModalView
diff --git a/test/app/views/teachers/EditStudentModal.spec.coffee b/app/views/teachers/EditStudentModal/EditStudentModal.spec.coffee
similarity index 100%
rename from test/app/views/teachers/EditStudentModal.spec.coffee
rename to app/views/teachers/EditStudentModal/EditStudentModal.spec.coffee
diff --git a/app/templates/teachers/edit-student-modal.jade b/app/views/teachers/EditStudentModal/edit-student-modal.jade
similarity index 100%
rename from app/templates/teachers/edit-student-modal.jade
rename to app/views/teachers/EditStudentModal/edit-student-modal.jade
diff --git a/app/styles/teachers/edit-student-modal.sass b/app/views/teachers/EditStudentModal/edit-student-modal.sass
similarity index 100%
rename from app/styles/teachers/edit-student-modal.sass
rename to app/views/teachers/EditStudentModal/edit-student-modal.sass
diff --git a/app/views/teachers/EditStudentModal/index.coffee b/app/views/teachers/EditStudentModal/index.coffee
new file mode 100644
index 000000000..acbc4a0b5
--- /dev/null
+++ b/app/views/teachers/EditStudentModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './EditStudentModal'
\ No newline at end of file
diff --git a/app/views/teachers/HowToEnrollModal.coffee b/app/views/teachers/HowToEnrollModal/HowToEnrollModal.coffee
similarity index 68%
rename from app/views/teachers/HowToEnrollModal.coffee
rename to app/views/teachers/HowToEnrollModal/HowToEnrollModal.coffee
index 636b21d15..806bde9cd 100644
--- a/app/views/teachers/HowToEnrollModal.coffee
+++ b/app/views/teachers/HowToEnrollModal/HowToEnrollModal.coffee
@@ -2,5 +2,5 @@ ModalView = require 'views/core/ModalView'
 
 module.exports = class HowToEnrollModal extends ModalView
   id: 'how-to-enroll-modal'
-  template: require 'templates/teachers/how-to-enroll-modal'
+  template: require './how-to-enroll-modal'
   
diff --git a/app/templates/teachers/how-to-enroll-modal.jade b/app/views/teachers/HowToEnrollModal/how-to-enroll-modal.jade
similarity index 100%
rename from app/templates/teachers/how-to-enroll-modal.jade
rename to app/views/teachers/HowToEnrollModal/how-to-enroll-modal.jade
diff --git a/app/styles/teachers/how-to-enroll-modal.sass b/app/views/teachers/HowToEnrollModal/how-to-enroll-modal.sass
similarity index 100%
rename from app/styles/teachers/how-to-enroll-modal.sass
rename to app/views/teachers/HowToEnrollModal/how-to-enroll-modal.sass
diff --git a/app/views/teachers/HowToEnrollModal/index.coffee b/app/views/teachers/HowToEnrollModal/index.coffee
new file mode 100644
index 000000000..d49e64037
--- /dev/null
+++ b/app/views/teachers/HowToEnrollModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './HowToEnrollModal'
\ No newline at end of file
diff --git a/app/styles/teachers/markdown-resource-view.sass b/app/views/teachers/MarkdownResourceView/markdown-resource-view.sass
similarity index 100%
rename from app/styles/teachers/markdown-resource-view.sass
rename to app/views/teachers/MarkdownResourceView/markdown-resource-view.sass
diff --git a/app/styles/teachers/ResourceHubView.sass b/app/views/teachers/ResourceHubView/ResourceHubView.sass
similarity index 100%
rename from app/styles/teachers/ResourceHubView.sass
rename to app/views/teachers/ResourceHubView/ResourceHubView.sass
diff --git a/app/styles/teachers/teacher-course-solution-view.sass b/app/views/teachers/TeacherCourseSolutionView/teacher-course-solution-view.sass
similarity index 100%
rename from app/styles/teachers/teacher-course-solution-view.sass
rename to app/views/teachers/TeacherCourseSolutionView/teacher-course-solution-view.sass
diff --git a/app/views/teachers/TeachersContactModal.coffee b/app/views/teachers/TeachersContactModal/TeachersContactModal.coffee
similarity index 97%
rename from app/views/teachers/TeachersContactModal.coffee
rename to app/views/teachers/TeachersContactModal/TeachersContactModal.coffee
index 1f86a1cc9..d29306a68 100644
--- a/app/views/teachers/TeachersContactModal.coffee
+++ b/app/views/teachers/TeachersContactModal/TeachersContactModal.coffee
@@ -6,7 +6,7 @@ contact = require 'core/contact'
 
 module.exports = class TeachersContactModal extends ModalView
   id: 'teachers-contact-modal'
-  template: require 'templates/teachers/teachers-contact-modal'
+  template: require './teachers-contact-modal'
 
   events:
     'submit form': 'onSubmitForm'
diff --git a/test/app/views/courses/TeachersContactModal.spec.coffee b/app/views/teachers/TeachersContactModal/TeachersContactModal.spec.coffee
similarity index 100%
rename from test/app/views/courses/TeachersContactModal.spec.coffee
rename to app/views/teachers/TeachersContactModal/TeachersContactModal.spec.coffee
diff --git a/app/views/teachers/TeachersContactModal/index.coffee b/app/views/teachers/TeachersContactModal/index.coffee
new file mode 100644
index 000000000..18baa682e
--- /dev/null
+++ b/app/views/teachers/TeachersContactModal/index.coffee
@@ -0,0 +1 @@
+module.exports = require './TeachersContactModal'
\ No newline at end of file
diff --git a/app/templates/teachers/teachers-contact-modal.jade b/app/views/teachers/TeachersContactModal/teachers-contact-modal.jade
similarity index 100%
rename from app/templates/teachers/teachers-contact-modal.jade
rename to app/views/teachers/TeachersContactModal/teachers-contact-modal.jade
diff --git a/app/styles/teachers/teachers-contact-modal.sass b/app/views/teachers/TeachersContactModal/teachers-contact-modal.sass
similarity index 100%
rename from app/styles/teachers/teachers-contact-modal.sass
rename to app/views/teachers/TeachersContactModal/teachers-contact-modal.sass
diff --git a/app/styles/user/email-verified-view.sass b/app/views/user/EmailVerifiedView/email-verified-view.sass
similarity index 100%
rename from app/styles/user/email-verified-view.sass
rename to app/views/user/EmailVerifiedView/email-verified-view.sass
diff --git a/app/styles/user/main-user-view.sass b/app/views/user/MainUserView/main-user-view.sass
similarity index 100%
rename from app/styles/user/main-user-view.sass
rename to app/views/user/MainUserView/main-user-view.sass
diff --git a/scripts/reorganizeViews.js b/scripts/reorganizeViews.js
index e063d8a29..c58e3ed6c 100644
--- a/scripts/reorganizeViews.js
+++ b/scripts/reorganizeViews.js
@@ -15,7 +15,7 @@ while(directories.length) {
     // .coffee => .js
     if(stat.isFile()) {
       var group = _.string.underscored(fileOrDir.split('.')[0])
-      if(_.string.endsWith(group, '_view')) {
+      if(_.string.endsWith(group, '_view') || _.string.endsWith(group, '_modal')) {
         if(!groupings[group]) groupings[group] = []
         groupings[group].push(absPath)
       }
@@ -27,6 +27,7 @@ while(directories.length) {
     }
   })
 }
+console.log('groupings', JSON.stringify(groupings, null, '\t'))
 
 _.forEach(groupings, function(files) {
   var viewAbsPath = _.remove(files, (file) => _.string.startsWith(file, './app/views/'))[0]
@@ -84,6 +85,8 @@ _.forEach(groupings, function(files) {
     templateFileData = templateFileData
       .replace("include ./teacher-dashboard-nav.jade", "include /templates/courses/teacher-dashboard-nav.jade")
       .replace("include ../courses/teacher-dashboard-nav.jade", "include /templates/courses/teacher-dashboard-nav.jade")
+      .replace("extends /templates/editor/modal/save-version-modal", "extends /views/editor/modal/SaveVersionModal/save-version-modal")
+      .replace("extends /templates/editor/modal/new-model-modal", "extends /views/editor/modal/NewModelModal/new-model-modal")
     fs.writeFileSync(templateAbsPath, templateFileData, { encoding: 'utf8' })
   }
   
@@ -96,4 +99,14 @@ _.forEach(groupings, function(files) {
     // Move test file into view folder
     fs.renameSync(testAbsPath, newTestAbsPath)
   }
+
+  var styleAbsPath = _.remove(files, (file) => _.string.startsWith(file, './app/styles'))[0]
+  if(styleAbsPath) {
+    // Deduce data
+    styleFileName = styleAbsPath.slice(_.lastIndexOf(styleAbsPath, '/'))
+    newStyleAbsPath = viewFolder + styleFileName
+
+    // Move style file into view folder
+    fs.renameSync(styleAbsPath, newStyleAbsPath)
+  }
 });