diff --git a/Classes/Loader.php b/Classes/Loader.php
index 94311d45b16e40fa09c4e0f5dace425da3a4f88c..06d821875ab8a416cbe2cb3ebc613bff22f12156 100644
--- a/Classes/Loader.php
+++ b/Classes/Loader.php
@@ -102,7 +102,7 @@ class Loader {
 		}
 
 		$languageFile = PATH_site . ExtensionManagementUtility::siteRelPath('tinymce') .
-			'tinymce/langs/' . $languageKey . '.js';
+			'Contrib/tinymce/langs/' . $languageKey . '.js';
 		if (!is_file($languageFile)) {
 			$languageKey = 'en';
 		}
@@ -148,7 +148,7 @@ class Loader {
 	/**
 	 * Returns the needed javascript inclusion code
 	 *
-	 * Note: This function can only be called once for each loaded configuration.
+	 * Note: This function can only be called once.
 	 *
 	 * @param bool $loadConfigurationWithTimer
 	 * @return string
@@ -157,11 +157,18 @@ class Loader {
 		$output = '';
 		if (!self::$init) {
 			self::$init = TRUE;
-			$script = $GLOBALS['BACK_PATH'] . ExtensionManagementUtility::extRelPath('tinymce') .
-				'tinymce/tinymce.min.js';
+			$pathToTinyMceExtension = ExtensionManagementUtility::extRelPath('tinymce');
+
+			$script = $GLOBALS['BACK_PATH'] . $pathToTinyMceExtension . 'Contrib/tinymce/tinymce.min.js';
 			$output = '<script type="text/javascript" src="' . $script . '"></script>';
 
-			$script = $this->getConfiguration($loadConfigurationWithTimer);
+			$script = $GLOBALS['BACK_PATH'] . $pathToTinyMceExtension . 'Contrib/MutationObserver/MutationObserver.js';
+			$output .= '<script type="text/javascript" src="' . $script . '"></script>';
+
+			$script = $GLOBALS['BACK_PATH'] . $pathToTinyMceExtension . 'Resources/Public/JavaScript/Loader.js';
+			$output .= '<script type="text/javascript" src="' . $script . '"></script>';
+
+			$script = $this->getConfiguration();
 			$output .= '<script type="text/javascript" src="' . $script . '"></script>';
 		}
 
@@ -171,6 +178,8 @@ class Loader {
 	/**
 	 * Loads the required javascript via the given page renderer instance
 	 *
+	 * Note: This function can only be called once.
+	 *
 	 * @param PageRenderer $pageRenderer
 	 * @param bool $loadConfigurationWithTimer
 	 * @return void
@@ -181,8 +190,15 @@ class Loader {
 		}
 		self::$init = TRUE;
 
-		$script = $GLOBALS['BACK_PATH'] . ExtensionManagementUtility::extRelPath('tinymce') . 'tinymce/tinymce.min.js';
-		$pageRenderer->addJsLibrary('tinymce', $script, 'text/javascript', FALSE, TRUE, '', TRUE);
+		$pathToTinyMceExtension = ExtensionManagementUtility::extRelPath('tinymce');
+		$script = $GLOBALS['BACK_PATH'] . $pathToTinyMceExtension . 'Contrib/tinymce/tinymce.min.js';
+		$pageRenderer->addJsLibrary('tinymce', $script);
+
+		$script = $GLOBALS['BACK_PATH'] . $pathToTinyMceExtension . 'Contrib/MutationObserver/MutationObserver.js';
+		$pageRenderer->addJsLibrary('MutationObserver', $script);
+
+		$script = $GLOBALS['BACK_PATH'] . $pathToTinyMceExtension . 'Resources/Public/JavaScript/Loader.js';
+		$pageRenderer->addJsFile($script);
 
 		$script = $this->getConfiguration($loadConfigurationWithTimer);
 		$pageRenderer->addJsFile($script, 'text/javascript', FALSE, TRUE, '', TRUE);
diff --git a/tinymce/langs/ar.js b/Contrib/tinymce/langs/ar.js
similarity index 100%
rename from tinymce/langs/ar.js
rename to Contrib/tinymce/langs/ar.js
diff --git a/tinymce/langs/ar_SA.js b/Contrib/tinymce/langs/ar_SA.js
similarity index 100%
rename from tinymce/langs/ar_SA.js
rename to Contrib/tinymce/langs/ar_SA.js
diff --git a/tinymce/langs/az.js b/Contrib/tinymce/langs/az.js
similarity index 100%
rename from tinymce/langs/az.js
rename to Contrib/tinymce/langs/az.js
diff --git a/tinymce/langs/be.js b/Contrib/tinymce/langs/be.js
similarity index 100%
rename from tinymce/langs/be.js
rename to Contrib/tinymce/langs/be.js
diff --git a/tinymce/langs/bg_BG.js b/Contrib/tinymce/langs/bg_BG.js
similarity index 100%
rename from tinymce/langs/bg_BG.js
rename to Contrib/tinymce/langs/bg_BG.js
diff --git a/tinymce/langs/bn_BD.js b/Contrib/tinymce/langs/bn_BD.js
similarity index 100%
rename from tinymce/langs/bn_BD.js
rename to Contrib/tinymce/langs/bn_BD.js
diff --git a/tinymce/langs/bs.js b/Contrib/tinymce/langs/bs.js
similarity index 100%
rename from tinymce/langs/bs.js
rename to Contrib/tinymce/langs/bs.js
diff --git a/tinymce/langs/ca.js b/Contrib/tinymce/langs/ca.js
similarity index 100%
rename from tinymce/langs/ca.js
rename to Contrib/tinymce/langs/ca.js
diff --git a/tinymce/langs/cs.js b/Contrib/tinymce/langs/cs.js
similarity index 100%
rename from tinymce/langs/cs.js
rename to Contrib/tinymce/langs/cs.js
diff --git a/tinymce/langs/cy.js b/Contrib/tinymce/langs/cy.js
similarity index 100%
rename from tinymce/langs/cy.js
rename to Contrib/tinymce/langs/cy.js
diff --git a/tinymce/langs/da.js b/Contrib/tinymce/langs/da.js
similarity index 100%
rename from tinymce/langs/da.js
rename to Contrib/tinymce/langs/da.js
diff --git a/tinymce/langs/de.js b/Contrib/tinymce/langs/de.js
similarity index 100%
rename from tinymce/langs/de.js
rename to Contrib/tinymce/langs/de.js
diff --git a/tinymce/langs/de_AT.js b/Contrib/tinymce/langs/de_AT.js
similarity index 100%
rename from tinymce/langs/de_AT.js
rename to Contrib/tinymce/langs/de_AT.js
diff --git a/tinymce/langs/dv.js b/Contrib/tinymce/langs/dv.js
similarity index 100%
rename from tinymce/langs/dv.js
rename to Contrib/tinymce/langs/dv.js
diff --git a/tinymce/langs/el.js b/Contrib/tinymce/langs/el.js
similarity index 100%
rename from tinymce/langs/el.js
rename to Contrib/tinymce/langs/el.js
diff --git a/tinymce/langs/en_CA.js b/Contrib/tinymce/langs/en_CA.js
similarity index 100%
rename from tinymce/langs/en_CA.js
rename to Contrib/tinymce/langs/en_CA.js
diff --git a/tinymce/langs/en_GB.js b/Contrib/tinymce/langs/en_GB.js
similarity index 100%
rename from tinymce/langs/en_GB.js
rename to Contrib/tinymce/langs/en_GB.js
diff --git a/tinymce/langs/es.js b/Contrib/tinymce/langs/es.js
similarity index 100%
rename from tinymce/langs/es.js
rename to Contrib/tinymce/langs/es.js
diff --git a/tinymce/langs/es_MX.js b/Contrib/tinymce/langs/es_MX.js
similarity index 100%
rename from tinymce/langs/es_MX.js
rename to Contrib/tinymce/langs/es_MX.js
diff --git a/tinymce/langs/et.js b/Contrib/tinymce/langs/et.js
similarity index 100%
rename from tinymce/langs/et.js
rename to Contrib/tinymce/langs/et.js
diff --git a/tinymce/langs/eu.js b/Contrib/tinymce/langs/eu.js
similarity index 100%
rename from tinymce/langs/eu.js
rename to Contrib/tinymce/langs/eu.js
diff --git a/tinymce/langs/fa.js b/Contrib/tinymce/langs/fa.js
similarity index 100%
rename from tinymce/langs/fa.js
rename to Contrib/tinymce/langs/fa.js
diff --git a/tinymce/langs/fa_IR.js b/Contrib/tinymce/langs/fa_IR.js
similarity index 100%
rename from tinymce/langs/fa_IR.js
rename to Contrib/tinymce/langs/fa_IR.js
diff --git a/tinymce/langs/fi.js b/Contrib/tinymce/langs/fi.js
similarity index 100%
rename from tinymce/langs/fi.js
rename to Contrib/tinymce/langs/fi.js
diff --git a/tinymce/langs/fo.js b/Contrib/tinymce/langs/fo.js
similarity index 100%
rename from tinymce/langs/fo.js
rename to Contrib/tinymce/langs/fo.js
diff --git a/tinymce/langs/fr_FR.js b/Contrib/tinymce/langs/fr_FR.js
similarity index 100%
rename from tinymce/langs/fr_FR.js
rename to Contrib/tinymce/langs/fr_FR.js
diff --git a/tinymce/langs/gd.js b/Contrib/tinymce/langs/gd.js
similarity index 100%
rename from tinymce/langs/gd.js
rename to Contrib/tinymce/langs/gd.js
diff --git a/tinymce/langs/gl.js b/Contrib/tinymce/langs/gl.js
similarity index 100%
rename from tinymce/langs/gl.js
rename to Contrib/tinymce/langs/gl.js
diff --git a/tinymce/langs/he_IL.js b/Contrib/tinymce/langs/he_IL.js
similarity index 100%
rename from tinymce/langs/he_IL.js
rename to Contrib/tinymce/langs/he_IL.js
diff --git a/tinymce/langs/hr.js b/Contrib/tinymce/langs/hr.js
similarity index 100%
rename from tinymce/langs/hr.js
rename to Contrib/tinymce/langs/hr.js
diff --git a/tinymce/langs/hu_HU.js b/Contrib/tinymce/langs/hu_HU.js
similarity index 100%
rename from tinymce/langs/hu_HU.js
rename to Contrib/tinymce/langs/hu_HU.js
diff --git a/tinymce/langs/hy.js b/Contrib/tinymce/langs/hy.js
similarity index 100%
rename from tinymce/langs/hy.js
rename to Contrib/tinymce/langs/hy.js
diff --git a/tinymce/langs/id.js b/Contrib/tinymce/langs/id.js
similarity index 100%
rename from tinymce/langs/id.js
rename to Contrib/tinymce/langs/id.js
diff --git a/tinymce/langs/is_IS.js b/Contrib/tinymce/langs/is_IS.js
similarity index 100%
rename from tinymce/langs/is_IS.js
rename to Contrib/tinymce/langs/is_IS.js
diff --git a/tinymce/langs/it.js b/Contrib/tinymce/langs/it.js
similarity index 100%
rename from tinymce/langs/it.js
rename to Contrib/tinymce/langs/it.js
diff --git a/tinymce/langs/ja.js b/Contrib/tinymce/langs/ja.js
similarity index 100%
rename from tinymce/langs/ja.js
rename to Contrib/tinymce/langs/ja.js
diff --git a/tinymce/langs/ka_GE.js b/Contrib/tinymce/langs/ka_GE.js
similarity index 100%
rename from tinymce/langs/ka_GE.js
rename to Contrib/tinymce/langs/ka_GE.js
diff --git a/tinymce/langs/kk.js b/Contrib/tinymce/langs/kk.js
similarity index 100%
rename from tinymce/langs/kk.js
rename to Contrib/tinymce/langs/kk.js
diff --git a/tinymce/langs/km_KH.js b/Contrib/tinymce/langs/km_KH.js
similarity index 100%
rename from tinymce/langs/km_KH.js
rename to Contrib/tinymce/langs/km_KH.js
diff --git a/tinymce/langs/ko_KR.js b/Contrib/tinymce/langs/ko_KR.js
similarity index 100%
rename from tinymce/langs/ko_KR.js
rename to Contrib/tinymce/langs/ko_KR.js
diff --git a/tinymce/langs/ku.js b/Contrib/tinymce/langs/ku.js
similarity index 100%
rename from tinymce/langs/ku.js
rename to Contrib/tinymce/langs/ku.js
diff --git a/tinymce/langs/ku_IQ.js b/Contrib/tinymce/langs/ku_IQ.js
similarity index 100%
rename from tinymce/langs/ku_IQ.js
rename to Contrib/tinymce/langs/ku_IQ.js
diff --git a/tinymce/langs/lb.js b/Contrib/tinymce/langs/lb.js
similarity index 100%
rename from tinymce/langs/lb.js
rename to Contrib/tinymce/langs/lb.js
diff --git a/tinymce/langs/lt.js b/Contrib/tinymce/langs/lt.js
similarity index 100%
rename from tinymce/langs/lt.js
rename to Contrib/tinymce/langs/lt.js
diff --git a/tinymce/langs/lv.js b/Contrib/tinymce/langs/lv.js
similarity index 100%
rename from tinymce/langs/lv.js
rename to Contrib/tinymce/langs/lv.js
diff --git a/tinymce/langs/ml.js b/Contrib/tinymce/langs/ml.js
similarity index 100%
rename from tinymce/langs/ml.js
rename to Contrib/tinymce/langs/ml.js
diff --git a/tinymce/langs/ml_IN.js b/Contrib/tinymce/langs/ml_IN.js
similarity index 100%
rename from tinymce/langs/ml_IN.js
rename to Contrib/tinymce/langs/ml_IN.js
diff --git a/tinymce/langs/mn_MN.js b/Contrib/tinymce/langs/mn_MN.js
similarity index 100%
rename from tinymce/langs/mn_MN.js
rename to Contrib/tinymce/langs/mn_MN.js
diff --git a/tinymce/langs/nb_NO.js b/Contrib/tinymce/langs/nb_NO.js
similarity index 100%
rename from tinymce/langs/nb_NO.js
rename to Contrib/tinymce/langs/nb_NO.js
diff --git a/tinymce/langs/nl.js b/Contrib/tinymce/langs/nl.js
similarity index 100%
rename from tinymce/langs/nl.js
rename to Contrib/tinymce/langs/nl.js
diff --git a/tinymce/langs/pl.js b/Contrib/tinymce/langs/pl.js
similarity index 100%
rename from tinymce/langs/pl.js
rename to Contrib/tinymce/langs/pl.js
diff --git a/tinymce/langs/pt_BR.js b/Contrib/tinymce/langs/pt_BR.js
similarity index 100%
rename from tinymce/langs/pt_BR.js
rename to Contrib/tinymce/langs/pt_BR.js
diff --git a/tinymce/langs/pt_PT.js b/Contrib/tinymce/langs/pt_PT.js
similarity index 100%
rename from tinymce/langs/pt_PT.js
rename to Contrib/tinymce/langs/pt_PT.js
diff --git a/tinymce/langs/ro.js b/Contrib/tinymce/langs/ro.js
similarity index 100%
rename from tinymce/langs/ro.js
rename to Contrib/tinymce/langs/ro.js
diff --git a/tinymce/langs/ru.js b/Contrib/tinymce/langs/ru.js
similarity index 100%
rename from tinymce/langs/ru.js
rename to Contrib/tinymce/langs/ru.js
diff --git a/tinymce/langs/si_LK.js b/Contrib/tinymce/langs/si_LK.js
similarity index 100%
rename from tinymce/langs/si_LK.js
rename to Contrib/tinymce/langs/si_LK.js
diff --git a/tinymce/langs/sk.js b/Contrib/tinymce/langs/sk.js
similarity index 100%
rename from tinymce/langs/sk.js
rename to Contrib/tinymce/langs/sk.js
diff --git a/tinymce/langs/sl_SI.js b/Contrib/tinymce/langs/sl_SI.js
similarity index 100%
rename from tinymce/langs/sl_SI.js
rename to Contrib/tinymce/langs/sl_SI.js
diff --git a/tinymce/langs/sr.js b/Contrib/tinymce/langs/sr.js
similarity index 100%
rename from tinymce/langs/sr.js
rename to Contrib/tinymce/langs/sr.js
diff --git a/tinymce/langs/sv_SE.js b/Contrib/tinymce/langs/sv_SE.js
similarity index 100%
rename from tinymce/langs/sv_SE.js
rename to Contrib/tinymce/langs/sv_SE.js
diff --git a/tinymce/langs/ta.js b/Contrib/tinymce/langs/ta.js
similarity index 100%
rename from tinymce/langs/ta.js
rename to Contrib/tinymce/langs/ta.js
diff --git a/tinymce/langs/ta_IN.js b/Contrib/tinymce/langs/ta_IN.js
similarity index 100%
rename from tinymce/langs/ta_IN.js
rename to Contrib/tinymce/langs/ta_IN.js
diff --git a/tinymce/langs/tg.js b/Contrib/tinymce/langs/tg.js
similarity index 100%
rename from tinymce/langs/tg.js
rename to Contrib/tinymce/langs/tg.js
diff --git a/tinymce/langs/th_TH.js b/Contrib/tinymce/langs/th_TH.js
similarity index 100%
rename from tinymce/langs/th_TH.js
rename to Contrib/tinymce/langs/th_TH.js
diff --git a/tinymce/langs/tr_TR.js b/Contrib/tinymce/langs/tr_TR.js
similarity index 100%
rename from tinymce/langs/tr_TR.js
rename to Contrib/tinymce/langs/tr_TR.js
diff --git a/tinymce/langs/tt.js b/Contrib/tinymce/langs/tt.js
similarity index 100%
rename from tinymce/langs/tt.js
rename to Contrib/tinymce/langs/tt.js
diff --git a/tinymce/langs/ug.js b/Contrib/tinymce/langs/ug.js
similarity index 100%
rename from tinymce/langs/ug.js
rename to Contrib/tinymce/langs/ug.js
diff --git a/tinymce/langs/uk.js b/Contrib/tinymce/langs/uk.js
similarity index 100%
rename from tinymce/langs/uk.js
rename to Contrib/tinymce/langs/uk.js
diff --git a/tinymce/langs/uk_UA.js b/Contrib/tinymce/langs/uk_UA.js
similarity index 100%
rename from tinymce/langs/uk_UA.js
rename to Contrib/tinymce/langs/uk_UA.js
diff --git a/tinymce/langs/vi.js b/Contrib/tinymce/langs/vi.js
similarity index 100%
rename from tinymce/langs/vi.js
rename to Contrib/tinymce/langs/vi.js
diff --git a/tinymce/langs/vi_VN.js b/Contrib/tinymce/langs/vi_VN.js
similarity index 100%
rename from tinymce/langs/vi_VN.js
rename to Contrib/tinymce/langs/vi_VN.js
diff --git a/tinymce/langs/zh_CN.js b/Contrib/tinymce/langs/zh_CN.js
similarity index 100%
rename from tinymce/langs/zh_CN.js
rename to Contrib/tinymce/langs/zh_CN.js
diff --git a/tinymce/langs/zh_TW.js b/Contrib/tinymce/langs/zh_TW.js
similarity index 100%
rename from tinymce/langs/zh_TW.js
rename to Contrib/tinymce/langs/zh_TW.js
diff --git a/tinymce/license.txt b/Contrib/tinymce/license.txt
similarity index 100%
rename from tinymce/license.txt
rename to Contrib/tinymce/license.txt
diff --git a/tinymce/plugins/advlist/plugin.min.js b/Contrib/tinymce/plugins/advlist/plugin.min.js
similarity index 100%
rename from tinymce/plugins/advlist/plugin.min.js
rename to Contrib/tinymce/plugins/advlist/plugin.min.js
diff --git a/tinymce/plugins/anchor/plugin.min.js b/Contrib/tinymce/plugins/anchor/plugin.min.js
similarity index 100%
rename from tinymce/plugins/anchor/plugin.min.js
rename to Contrib/tinymce/plugins/anchor/plugin.min.js
diff --git a/tinymce/plugins/autolink/plugin.min.js b/Contrib/tinymce/plugins/autolink/plugin.min.js
similarity index 100%
rename from tinymce/plugins/autolink/plugin.min.js
rename to Contrib/tinymce/plugins/autolink/plugin.min.js
diff --git a/tinymce/plugins/autoresize/plugin.min.js b/Contrib/tinymce/plugins/autoresize/plugin.min.js
similarity index 100%
rename from tinymce/plugins/autoresize/plugin.min.js
rename to Contrib/tinymce/plugins/autoresize/plugin.min.js
diff --git a/tinymce/plugins/autosave/plugin.min.js b/Contrib/tinymce/plugins/autosave/plugin.min.js
similarity index 100%
rename from tinymce/plugins/autosave/plugin.min.js
rename to Contrib/tinymce/plugins/autosave/plugin.min.js
diff --git a/tinymce/plugins/bbcode/plugin.min.js b/Contrib/tinymce/plugins/bbcode/plugin.min.js
similarity index 100%
rename from tinymce/plugins/bbcode/plugin.min.js
rename to Contrib/tinymce/plugins/bbcode/plugin.min.js
diff --git a/tinymce/plugins/charmap/plugin.min.js b/Contrib/tinymce/plugins/charmap/plugin.min.js
similarity index 100%
rename from tinymce/plugins/charmap/plugin.min.js
rename to Contrib/tinymce/plugins/charmap/plugin.min.js
diff --git a/tinymce/plugins/code/plugin.min.js b/Contrib/tinymce/plugins/code/plugin.min.js
similarity index 100%
rename from tinymce/plugins/code/plugin.min.js
rename to Contrib/tinymce/plugins/code/plugin.min.js
diff --git a/tinymce/plugins/colorpicker/plugin.min.js b/Contrib/tinymce/plugins/colorpicker/plugin.min.js
similarity index 100%
rename from tinymce/plugins/colorpicker/plugin.min.js
rename to Contrib/tinymce/plugins/colorpicker/plugin.min.js
diff --git a/tinymce/plugins/contextmenu/plugin.min.js b/Contrib/tinymce/plugins/contextmenu/plugin.min.js
similarity index 100%
rename from tinymce/plugins/contextmenu/plugin.min.js
rename to Contrib/tinymce/plugins/contextmenu/plugin.min.js
diff --git a/tinymce/plugins/directionality/plugin.min.js b/Contrib/tinymce/plugins/directionality/plugin.min.js
similarity index 100%
rename from tinymce/plugins/directionality/plugin.min.js
rename to Contrib/tinymce/plugins/directionality/plugin.min.js
diff --git a/tinymce/plugins/emoticons/img/smiley-cool.gif b/Contrib/tinymce/plugins/emoticons/img/smiley-cool.gif
similarity index 100%
rename from tinymce/plugins/emoticons/img/smiley-cool.gif
rename to Contrib/tinymce/plugins/emoticons/img/smiley-cool.gif
diff --git a/tinymce/plugins/emoticons/img/smiley-cry.gif b/Contrib/tinymce/plugins/emoticons/img/smiley-cry.gif
similarity index 100%
rename from tinymce/plugins/emoticons/img/smiley-cry.gif
rename to Contrib/tinymce/plugins/emoticons/img/smiley-cry.gif
diff --git a/tinymce/plugins/emoticons/img/smiley-embarassed.gif b/Contrib/tinymce/plugins/emoticons/img/smiley-embarassed.gif
similarity index 100%
rename from tinymce/plugins/emoticons/img/smiley-embarassed.gif
rename to Contrib/tinymce/plugins/emoticons/img/smiley-embarassed.gif
diff --git a/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif b/Contrib/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif
similarity index 100%
rename from tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif
rename to Contrib/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif
diff --git a/tinymce/plugins/emoticons/img/smiley-frown.gif b/Contrib/tinymce/plugins/emoticons/img/smiley-frown.gif
similarity index 100%
rename from tinymce/plugins/emoticons/img/smiley-frown.gif
rename to Contrib/tinymce/plugins/emoticons/img/smiley-frown.gif
diff --git a/tinymce/plugins/emoticons/img/smiley-innocent.gif b/Contrib/tinymce/plugins/emoticons/img/smiley-innocent.gif
similarity index 100%
rename from tinymce/plugins/emoticons/img/smiley-innocent.gif
rename to Contrib/tinymce/plugins/emoticons/img/smiley-innocent.gif
diff --git a/tinymce/plugins/emoticons/img/smiley-kiss.gif b/Contrib/tinymce/plugins/emoticons/img/smiley-kiss.gif
similarity index 100%
rename from tinymce/plugins/emoticons/img/smiley-kiss.gif
rename to Contrib/tinymce/plugins/emoticons/img/smiley-kiss.gif
diff --git a/tinymce/plugins/emoticons/img/smiley-laughing.gif b/Contrib/tinymce/plugins/emoticons/img/smiley-laughing.gif
similarity index 100%
rename from tinymce/plugins/emoticons/img/smiley-laughing.gif
rename to Contrib/tinymce/plugins/emoticons/img/smiley-laughing.gif
diff --git a/tinymce/plugins/emoticons/img/smiley-money-mouth.gif b/Contrib/tinymce/plugins/emoticons/img/smiley-money-mouth.gif
similarity index 100%
rename from tinymce/plugins/emoticons/img/smiley-money-mouth.gif
rename to Contrib/tinymce/plugins/emoticons/img/smiley-money-mouth.gif
diff --git a/tinymce/plugins/emoticons/img/smiley-sealed.gif b/Contrib/tinymce/plugins/emoticons/img/smiley-sealed.gif
similarity index 100%
rename from tinymce/plugins/emoticons/img/smiley-sealed.gif
rename to Contrib/tinymce/plugins/emoticons/img/smiley-sealed.gif
diff --git a/tinymce/plugins/emoticons/img/smiley-smile.gif b/Contrib/tinymce/plugins/emoticons/img/smiley-smile.gif
similarity index 100%
rename from tinymce/plugins/emoticons/img/smiley-smile.gif
rename to Contrib/tinymce/plugins/emoticons/img/smiley-smile.gif
diff --git a/tinymce/plugins/emoticons/img/smiley-surprised.gif b/Contrib/tinymce/plugins/emoticons/img/smiley-surprised.gif
similarity index 100%
rename from tinymce/plugins/emoticons/img/smiley-surprised.gif
rename to Contrib/tinymce/plugins/emoticons/img/smiley-surprised.gif
diff --git a/tinymce/plugins/emoticons/img/smiley-tongue-out.gif b/Contrib/tinymce/plugins/emoticons/img/smiley-tongue-out.gif
similarity index 100%
rename from tinymce/plugins/emoticons/img/smiley-tongue-out.gif
rename to Contrib/tinymce/plugins/emoticons/img/smiley-tongue-out.gif
diff --git a/tinymce/plugins/emoticons/img/smiley-undecided.gif b/Contrib/tinymce/plugins/emoticons/img/smiley-undecided.gif
similarity index 100%
rename from tinymce/plugins/emoticons/img/smiley-undecided.gif
rename to Contrib/tinymce/plugins/emoticons/img/smiley-undecided.gif
diff --git a/tinymce/plugins/emoticons/img/smiley-wink.gif b/Contrib/tinymce/plugins/emoticons/img/smiley-wink.gif
similarity index 100%
rename from tinymce/plugins/emoticons/img/smiley-wink.gif
rename to Contrib/tinymce/plugins/emoticons/img/smiley-wink.gif
diff --git a/tinymce/plugins/emoticons/img/smiley-yell.gif b/Contrib/tinymce/plugins/emoticons/img/smiley-yell.gif
similarity index 100%
rename from tinymce/plugins/emoticons/img/smiley-yell.gif
rename to Contrib/tinymce/plugins/emoticons/img/smiley-yell.gif
diff --git a/tinymce/plugins/emoticons/plugin.min.js b/Contrib/tinymce/plugins/emoticons/plugin.min.js
similarity index 100%
rename from tinymce/plugins/emoticons/plugin.min.js
rename to Contrib/tinymce/plugins/emoticons/plugin.min.js
diff --git a/tinymce/plugins/example/dialog.html b/Contrib/tinymce/plugins/example/dialog.html
similarity index 100%
rename from tinymce/plugins/example/dialog.html
rename to Contrib/tinymce/plugins/example/dialog.html
diff --git a/tinymce/plugins/example/plugin.min.js b/Contrib/tinymce/plugins/example/plugin.min.js
similarity index 100%
rename from tinymce/plugins/example/plugin.min.js
rename to Contrib/tinymce/plugins/example/plugin.min.js
diff --git a/tinymce/plugins/example_dependency/plugin.min.js b/Contrib/tinymce/plugins/example_dependency/plugin.min.js
similarity index 100%
rename from tinymce/plugins/example_dependency/plugin.min.js
rename to Contrib/tinymce/plugins/example_dependency/plugin.min.js
diff --git a/tinymce/plugins/fullpage/plugin.min.js b/Contrib/tinymce/plugins/fullpage/plugin.min.js
similarity index 100%
rename from tinymce/plugins/fullpage/plugin.min.js
rename to Contrib/tinymce/plugins/fullpage/plugin.min.js
diff --git a/tinymce/plugins/fullscreen/plugin.min.js b/Contrib/tinymce/plugins/fullscreen/plugin.min.js
similarity index 100%
rename from tinymce/plugins/fullscreen/plugin.min.js
rename to Contrib/tinymce/plugins/fullscreen/plugin.min.js
diff --git a/tinymce/plugins/hr/plugin.min.js b/Contrib/tinymce/plugins/hr/plugin.min.js
similarity index 100%
rename from tinymce/plugins/hr/plugin.min.js
rename to Contrib/tinymce/plugins/hr/plugin.min.js
diff --git a/tinymce/plugins/image/plugin.min.js b/Contrib/tinymce/plugins/image/plugin.min.js
similarity index 100%
rename from tinymce/plugins/image/plugin.min.js
rename to Contrib/tinymce/plugins/image/plugin.min.js
diff --git a/tinymce/plugins/importcss/plugin.min.js b/Contrib/tinymce/plugins/importcss/plugin.min.js
similarity index 100%
rename from tinymce/plugins/importcss/plugin.min.js
rename to Contrib/tinymce/plugins/importcss/plugin.min.js
diff --git a/tinymce/plugins/insertdatetime/plugin.min.js b/Contrib/tinymce/plugins/insertdatetime/plugin.min.js
similarity index 100%
rename from tinymce/plugins/insertdatetime/plugin.min.js
rename to Contrib/tinymce/plugins/insertdatetime/plugin.min.js
diff --git a/tinymce/plugins/layer/plugin.min.js b/Contrib/tinymce/plugins/layer/plugin.min.js
similarity index 100%
rename from tinymce/plugins/layer/plugin.min.js
rename to Contrib/tinymce/plugins/layer/plugin.min.js
diff --git a/tinymce/plugins/legacyoutput/plugin.min.js b/Contrib/tinymce/plugins/legacyoutput/plugin.min.js
similarity index 100%
rename from tinymce/plugins/legacyoutput/plugin.min.js
rename to Contrib/tinymce/plugins/legacyoutput/plugin.min.js
diff --git a/tinymce/plugins/link/plugin.min.js b/Contrib/tinymce/plugins/link/plugin.min.js
similarity index 100%
rename from tinymce/plugins/link/plugin.min.js
rename to Contrib/tinymce/plugins/link/plugin.min.js
diff --git a/tinymce/plugins/lists/plugin.min.js b/Contrib/tinymce/plugins/lists/plugin.min.js
similarity index 100%
rename from tinymce/plugins/lists/plugin.min.js
rename to Contrib/tinymce/plugins/lists/plugin.min.js
diff --git a/tinymce/plugins/media/moxieplayer.swf b/Contrib/tinymce/plugins/media/moxieplayer.swf
similarity index 100%
rename from tinymce/plugins/media/moxieplayer.swf
rename to Contrib/tinymce/plugins/media/moxieplayer.swf
diff --git a/tinymce/plugins/media/plugin.min.js b/Contrib/tinymce/plugins/media/plugin.min.js
similarity index 100%
rename from tinymce/plugins/media/plugin.min.js
rename to Contrib/tinymce/plugins/media/plugin.min.js
diff --git a/tinymce/plugins/nonbreaking/plugin.min.js b/Contrib/tinymce/plugins/nonbreaking/plugin.min.js
similarity index 100%
rename from tinymce/plugins/nonbreaking/plugin.min.js
rename to Contrib/tinymce/plugins/nonbreaking/plugin.min.js
diff --git a/tinymce/plugins/noneditable/plugin.min.js b/Contrib/tinymce/plugins/noneditable/plugin.min.js
similarity index 100%
rename from tinymce/plugins/noneditable/plugin.min.js
rename to Contrib/tinymce/plugins/noneditable/plugin.min.js
diff --git a/tinymce/plugins/pagebreak/plugin.min.js b/Contrib/tinymce/plugins/pagebreak/plugin.min.js
similarity index 100%
rename from tinymce/plugins/pagebreak/plugin.min.js
rename to Contrib/tinymce/plugins/pagebreak/plugin.min.js
diff --git a/tinymce/plugins/paste/plugin.min.js b/Contrib/tinymce/plugins/paste/plugin.min.js
similarity index 100%
rename from tinymce/plugins/paste/plugin.min.js
rename to Contrib/tinymce/plugins/paste/plugin.min.js
diff --git a/tinymce/plugins/preview/plugin.min.js b/Contrib/tinymce/plugins/preview/plugin.min.js
similarity index 100%
rename from tinymce/plugins/preview/plugin.min.js
rename to Contrib/tinymce/plugins/preview/plugin.min.js
diff --git a/tinymce/plugins/print/plugin.min.js b/Contrib/tinymce/plugins/print/plugin.min.js
similarity index 100%
rename from tinymce/plugins/print/plugin.min.js
rename to Contrib/tinymce/plugins/print/plugin.min.js
diff --git a/tinymce/plugins/save/plugin.min.js b/Contrib/tinymce/plugins/save/plugin.min.js
similarity index 100%
rename from tinymce/plugins/save/plugin.min.js
rename to Contrib/tinymce/plugins/save/plugin.min.js
diff --git a/tinymce/plugins/searchreplace/plugin.min.js b/Contrib/tinymce/plugins/searchreplace/plugin.min.js
similarity index 100%
rename from tinymce/plugins/searchreplace/plugin.min.js
rename to Contrib/tinymce/plugins/searchreplace/plugin.min.js
diff --git a/tinymce/plugins/spellchecker/plugin.min.js b/Contrib/tinymce/plugins/spellchecker/plugin.min.js
similarity index 100%
rename from tinymce/plugins/spellchecker/plugin.min.js
rename to Contrib/tinymce/plugins/spellchecker/plugin.min.js
diff --git a/tinymce/plugins/tabfocus/plugin.min.js b/Contrib/tinymce/plugins/tabfocus/plugin.min.js
similarity index 100%
rename from tinymce/plugins/tabfocus/plugin.min.js
rename to Contrib/tinymce/plugins/tabfocus/plugin.min.js
diff --git a/tinymce/plugins/table/plugin.min.js b/Contrib/tinymce/plugins/table/plugin.min.js
similarity index 100%
rename from tinymce/plugins/table/plugin.min.js
rename to Contrib/tinymce/plugins/table/plugin.min.js
diff --git a/tinymce/plugins/template/plugin.min.js b/Contrib/tinymce/plugins/template/plugin.min.js
similarity index 100%
rename from tinymce/plugins/template/plugin.min.js
rename to Contrib/tinymce/plugins/template/plugin.min.js
diff --git a/tinymce/plugins/textcolor/plugin.min.js b/Contrib/tinymce/plugins/textcolor/plugin.min.js
similarity index 100%
rename from tinymce/plugins/textcolor/plugin.min.js
rename to Contrib/tinymce/plugins/textcolor/plugin.min.js
diff --git a/tinymce/plugins/textpattern/plugin.min.js b/Contrib/tinymce/plugins/textpattern/plugin.min.js
similarity index 100%
rename from tinymce/plugins/textpattern/plugin.min.js
rename to Contrib/tinymce/plugins/textpattern/plugin.min.js
diff --git a/tinymce/plugins/visualblocks/css/visualblocks.css b/Contrib/tinymce/plugins/visualblocks/css/visualblocks.css
similarity index 100%
rename from tinymce/plugins/visualblocks/css/visualblocks.css
rename to Contrib/tinymce/plugins/visualblocks/css/visualblocks.css
diff --git a/tinymce/plugins/visualblocks/plugin.min.js b/Contrib/tinymce/plugins/visualblocks/plugin.min.js
similarity index 100%
rename from tinymce/plugins/visualblocks/plugin.min.js
rename to Contrib/tinymce/plugins/visualblocks/plugin.min.js
diff --git a/tinymce/plugins/visualchars/plugin.min.js b/Contrib/tinymce/plugins/visualchars/plugin.min.js
similarity index 100%
rename from tinymce/plugins/visualchars/plugin.min.js
rename to Contrib/tinymce/plugins/visualchars/plugin.min.js
diff --git a/tinymce/plugins/wordcount/plugin.min.js b/Contrib/tinymce/plugins/wordcount/plugin.min.js
similarity index 100%
rename from tinymce/plugins/wordcount/plugin.min.js
rename to Contrib/tinymce/plugins/wordcount/plugin.min.js
diff --git a/tinymce/skins/lightgray/content.inline.min.css b/Contrib/tinymce/skins/lightgray/content.inline.min.css
similarity index 100%
rename from tinymce/skins/lightgray/content.inline.min.css
rename to Contrib/tinymce/skins/lightgray/content.inline.min.css
diff --git a/tinymce/skins/lightgray/content.min.css b/Contrib/tinymce/skins/lightgray/content.min.css
similarity index 100%
rename from tinymce/skins/lightgray/content.min.css
rename to Contrib/tinymce/skins/lightgray/content.min.css
diff --git a/tinymce/skins/lightgray/fonts/tinymce-small.eot b/Contrib/tinymce/skins/lightgray/fonts/tinymce-small.eot
similarity index 100%
rename from tinymce/skins/lightgray/fonts/tinymce-small.eot
rename to Contrib/tinymce/skins/lightgray/fonts/tinymce-small.eot
diff --git a/tinymce/skins/lightgray/fonts/tinymce-small.svg b/Contrib/tinymce/skins/lightgray/fonts/tinymce-small.svg
similarity index 100%
rename from tinymce/skins/lightgray/fonts/tinymce-small.svg
rename to Contrib/tinymce/skins/lightgray/fonts/tinymce-small.svg
diff --git a/tinymce/skins/lightgray/fonts/tinymce-small.ttf b/Contrib/tinymce/skins/lightgray/fonts/tinymce-small.ttf
similarity index 100%
rename from tinymce/skins/lightgray/fonts/tinymce-small.ttf
rename to Contrib/tinymce/skins/lightgray/fonts/tinymce-small.ttf
diff --git a/tinymce/skins/lightgray/fonts/tinymce-small.woff b/Contrib/tinymce/skins/lightgray/fonts/tinymce-small.woff
similarity index 100%
rename from tinymce/skins/lightgray/fonts/tinymce-small.woff
rename to Contrib/tinymce/skins/lightgray/fonts/tinymce-small.woff
diff --git a/tinymce/skins/lightgray/fonts/tinymce.eot b/Contrib/tinymce/skins/lightgray/fonts/tinymce.eot
similarity index 100%
rename from tinymce/skins/lightgray/fonts/tinymce.eot
rename to Contrib/tinymce/skins/lightgray/fonts/tinymce.eot
diff --git a/tinymce/skins/lightgray/fonts/tinymce.svg b/Contrib/tinymce/skins/lightgray/fonts/tinymce.svg
similarity index 100%
rename from tinymce/skins/lightgray/fonts/tinymce.svg
rename to Contrib/tinymce/skins/lightgray/fonts/tinymce.svg
diff --git a/tinymce/skins/lightgray/fonts/tinymce.ttf b/Contrib/tinymce/skins/lightgray/fonts/tinymce.ttf
similarity index 100%
rename from tinymce/skins/lightgray/fonts/tinymce.ttf
rename to Contrib/tinymce/skins/lightgray/fonts/tinymce.ttf
diff --git a/tinymce/skins/lightgray/fonts/tinymce.woff b/Contrib/tinymce/skins/lightgray/fonts/tinymce.woff
similarity index 100%
rename from tinymce/skins/lightgray/fonts/tinymce.woff
rename to Contrib/tinymce/skins/lightgray/fonts/tinymce.woff
diff --git a/tinymce/skins/lightgray/img/anchor.gif b/Contrib/tinymce/skins/lightgray/img/anchor.gif
similarity index 100%
rename from tinymce/skins/lightgray/img/anchor.gif
rename to Contrib/tinymce/skins/lightgray/img/anchor.gif
diff --git a/tinymce/skins/lightgray/img/loader.gif b/Contrib/tinymce/skins/lightgray/img/loader.gif
similarity index 100%
rename from tinymce/skins/lightgray/img/loader.gif
rename to Contrib/tinymce/skins/lightgray/img/loader.gif
diff --git a/tinymce/skins/lightgray/img/object.gif b/Contrib/tinymce/skins/lightgray/img/object.gif
similarity index 100%
rename from tinymce/skins/lightgray/img/object.gif
rename to Contrib/tinymce/skins/lightgray/img/object.gif
diff --git a/tinymce/skins/lightgray/img/trans.gif b/Contrib/tinymce/skins/lightgray/img/trans.gif
similarity index 100%
rename from tinymce/skins/lightgray/img/trans.gif
rename to Contrib/tinymce/skins/lightgray/img/trans.gif
diff --git a/tinymce/skins/lightgray/skin.ie7.min.css b/Contrib/tinymce/skins/lightgray/skin.ie7.min.css
similarity index 100%
rename from tinymce/skins/lightgray/skin.ie7.min.css
rename to Contrib/tinymce/skins/lightgray/skin.ie7.min.css
diff --git a/tinymce/skins/lightgray/skin.min.css b/Contrib/tinymce/skins/lightgray/skin.min.css
similarity index 100%
rename from tinymce/skins/lightgray/skin.min.css
rename to Contrib/tinymce/skins/lightgray/skin.min.css
diff --git a/tinymce/themes/modern/theme.min.js b/Contrib/tinymce/themes/modern/theme.min.js
similarity index 100%
rename from tinymce/themes/modern/theme.min.js
rename to Contrib/tinymce/themes/modern/theme.min.js
diff --git a/tinymce/tinymce.min.js b/Contrib/tinymce/tinymce.min.js
similarity index 100%
rename from tinymce/tinymce.min.js
rename to Contrib/tinymce/tinymce.min.js
diff --git a/README.md b/README.md
index 55f0b58343f64112977bcb725060472089aa5d65..8b6fdcd3411a678efe7a3054995c5d839f132536 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@
     $('input[type=checkbox]').attr('checked', 1)
 
 3. Unpack the downloaded sources inside a separate folder
-4. Remove the tinymce directory inside the extension and move "tinymce/js/tinymce" from the download source as a
+4. Remove the Contrib/tinymce directory inside the extension and move "tinymce/js/tinymce" from the download source as a
    replacement.
 5. Replace the "langs" directory with the downloaded one
 6. Update the VERSIONS.md file